Thursday, January 21, 2010

When You Upgrade Struts

Sometimes, the application server won't recompile your JSP pages and you may receive errors like,
java.lang.NoClassDefFoundError: org.apache.struts.taglib.tiles.InsertTag
It misleads you to a classpath issue, but it is not.

All you need to do is to clean up the temp directory of this application.

Monday, January 18, 2010

SAP Portal - Steps to Create a Collaboration Room

My goal is to create a collaboration room in SAP Enterprice Portal. It shall display all documents in a KM directory assigned to this room. Same way like KM Navigation iView.

Users have asked to control the initial state of each folder, for example, expanded or collapsed, however, I am not sure if it is deliverable under NW EP 7.0.

Normally I would start from an existing room template by duplicating it, but this time, I want to start from the beginning, for readers including myself.

Here are my steps.

Part 1, create template workset

  1. Content Administration -> Portal Content -> com.sap.ip.collaboration -> Worksets
  2. Create a new workset under Worksets, name it e.g. MyColl_Room_v1
  3. Add Portal Content/com.sap.ip.collaboration/TemplatesAndPartContent/TemplateSpecific/Team Template/Pages/Documents and Links to MyColl_Room_v1 as delta link
  4. Add Portal Content/com.sap.ip.collaboration/TemplatesAndPartContent/Generic/Pages/Admin: Room to MyColl_Room_v1 as delta link, if only for users current requirements, Admin: Member would be enough, but for future growth, Admin: Room is usually a good choice
  5. Add Portal Content/com.sap.ip.collaboration/RoomPartContent/Generic/Pages/Documents to MyColl_Room_v1 as delta link
  6. Right click the Documents and select Edit
  7. Remove the Document iView inside the Documents page
  8. Add Portal Content/Content Provided by SAP/End User Content/Standard Portal Users/iViews/com.sap.km.iviews/URL Access/KM Navigation iView to the Documents page
  9. Save and close, part 1 done.

Part 2, create room template

  1. Content Administration -> Collaboration Content -> Room Template Administration
  2. Click the New Template button
  3. Name the new room template MyColl_Room_v2
  4. Give any appropriate description
  5. Specify any appropriate owner
  6. Select Private as it is the requirement
  7. Check on Fixed Room Type
  8. Select MyColl_Room_v2 as the Workset
  9. Click Next
  10. Remove the Public role as I don't need it
  11. Set Initial Role to Member and Admin Role to Admin
  12. Check Admin for all three pages, Member for only the RoomDocuments
  13. Add one external parameters, Docu_Folder_Path
  14. Skip the Extensions
  15. Complete mappings, see the mappings table
  16. Skip the Permissions
  17. Finish

Mappings table

  • com_sap_netweaver_coll_information_roomid -> room_id
  • customEntryPointDescrption -> room_description
  • customEntryPointFolderPath -> Docu_Folder_Path
  • customEntryPointName -> room_name
  • path -> Docu_Folder_Path
  • roomid -> room_id
  • StartUri -> Docu_Folder_Path
  • XFProjectPath -> roomstructure_rid
  • com_sap_netweaver_coll_roomquicklaunch_roomid -> room_id
  • com_sap_netweaver_coll_maintenance_roomid -> room_id

Part 3, create the collaboration room

  1. Content Administration -> Collaboration Content -> Room Creation
  2. Name it MyColl_Room_v1_001
  3. Any appropriate description, owner, categories
  4. Select MyColl_Room_v1 as Template
  5. Set the Docu_Folder_Path to the designated KM Folder
  6. Keep default for all rest.
  7. Finish