cFolders/cProjects contents storage on HTTP Content Server
I am sharing this document since I could not find all these information in a single place to configure external ‘Content Server’ for the contents stored in cFolders & cProjects.
SAP provides content servers as a standard technology for storing files. The cFolders application uses content servers for two reasons:
- To avoid mass traffic and storage on the cFolders base server: Files are very big compared to HTML communication. This applies both to the mass transfer via HTTP for uploading or downloading and to the file storage itself, for which the content server is optimized. The Web Application Server (WAS) is not optimized for this.
- cFolder users can be in different geographical locations: For example, SAP has three main locations in Germany, America, and India. To optimize network traffic and speed, files can be stored on different content servers directly associated with the locations
cFolders is shipped with a predefined set of content categories (CFFCONTENT and CFFURL) and associated storage repositories (CFF and CFFURL).
Source: SAP
But these content categories are linked to SAP WAS database directly & all cFolders/cProjects contents will be stored in the SAP WAS database.
If a separate storage server has to be set-up to store all cFolders / cProjects contents, then the following procedure has to be followed.
1) Content server installation, RFC connection between Content Server & cFolder system.
2) Configuration in cFolder/cProject system
I am skipping step no.1, since it is more of common BASIS related activities.
In step no.2, there are few activities which are to be carried out in sequence.
a) Creation of ‘Content Repository’
b) Content administration
c) Creation of ‘Storage Category’ for content repository
d) Change of ‘Storage category’ in Document Model workbench
a) Creation of Content Repository:
In Customizing, select SAPNetWeaver –> Application Server –> Basis Services –> Knowledge Provider –> Content Management Service –> Define Content Repositories.
T-Code –> OAC0
1. Choose Content Repository –> Display/Change.
2. Choose Content Repository –> Create.
3. Enter a name and a description for the content server.
4. Enter CFF in the Document Area field and HTTP in the Storage type field.
5. Enter Version number, HTTP Server, Port number, HTTP Script & Physical path of the Content server.
b) Content administration:
To navigate to ‘Content administration’ either click ‘csadmin’ button in the content repository created or use
T-Code –> CSADMIN
1. Create the repository settings in ‘Settings tab’ and change the security to ‘0’
2. Send certificate & activate in ‘Certificate tab’
3. And ensure user ‘SAPCS’ is having root access(UNIX).
c) Creation of Storage Category for Content repository:
In Customizing, select SAP NetWeaver –> Application Server –> Basis Services –> Knowledge Provider –> Define Content Categories.
T-Code –> OACT
1. Create a Storage category
2. Enter a category and description and then enter CFF in the Document Area field.
3. Enter the name of the newly created content repository in the Content Repository field.
c) Change of document storage category in Document model workbench:
This step is very important & has to be done carefully since we are repairing the original settings and this is the step which leads to linkage of content server to cFolder/cProject system.
T-Code –> DMWB
1.On the Document Modeling Workbench, drill down to CFF area and then PHIO classes.
2. Double click the below classes to view the default storage category and change it to the newly created Storage category “ZCFF”.
Classes | Default Storage Category | New Storage Category |
---|---|---|
CFF_ADD_FILES_V | CFFCONTENT | ZCFF |
CFF_VERSION_V | CFFCONTENT | ZCFF |
CFF_VERS | CFFCONTENT | ZCFF |
Thanks for sharing Ravi.
I followed steps however I see table count increasing in CFF_CONT so I am thinking data are not yet stored into SAP CS. Not sure if there is any other way I can check.
On other post I see CFFMAIN/ZCFFMAIN or ZDPRMAIN/DPRMAIN instead of ZCFF as repository. Any issue with naming?
Hi Jay,
without a Content Server, cFolders (and cProjects) stores the documents in table CFF_CONT that lies behind category CFFCONTENT.
cFolders is hard-coded with regard to the name of the storage categories, therefore, the names must be defined as DPRMAIN or ZDPRMAIN and CFFMAIN or ZCFFMAIN.
Generally, besides checking table CFF_CONT, please check if any content is stored on the Content Server. To check the existence of a document on the content server, run report 'RSHTTP51'. Just enter the PHIO-ID of the document and the content repository.
To get the PHIO-ID of a document in cFolders, open the document in the collaboration. In the URL you'll find parameter p_ver_id=. The string after this parameter represents the PHIO-ID of the document.
If the document is only stored in CFF_CONT, review your Content Server customizing and make sure that the Content Server is accessible and all certificates are up-to-date. Activating the Java Console (e.g. in the Java control panel) might also provide some hint if there is any error (e.g. HTTP status code error) with your Content Server. So once the console is activated (pre-requisit is that the Plug-In is used in cFolders), upload a document and the console window will automatically open and trace the upload.
Note: CFF_CONT might increase despite a Content Server is used as other data (such as some user settings like network settings etc.) are stored in this table too.
I hope this help.
Regards,
Silvia