Friday, December 19, 2008

Site Studio Best Practices

Independent Oracle User Group had organised a Webinar on Site Studio Best Practices. The best practices mentioned in the webinar were lot of common sense things that one should follow while building a site studio website. These are some things that are so obvious but developers like to give it a miss considering that they are some hassels. Below is the list of best practices and some justification as to why one should follow them.
  1. Do not use 'sysadmin' to create work: The power full 'sysadmin' that is out of the box user for Oracle UCM. Developers tend to use this to write code, this is not a good idea simply because there are some services that can run only by 'sysadmin'. After you deploy your code and create users they may not be able to run some of the serivces and dev team will running in circles to figure out the reason.
  2. Security Groups For Web Assets: Create a security group exclusively for artifacts required to run your website. These can be JS, CSS, Images, Fragments, Templates, Layouts. Configure this security group to have only Read access for the Content editors and consumers. Read and Write access for developers. Read Write and Delete reserved only for managers or Technical leads.
  3. Doctype for WebAssest: Create a Doc type specific for WebAssests and check in your code and other stuff under this. Some of the content types specific for SS fragments SS layouts will be created while installing Site Studio we can use these.
  4. Do not put all fragments in only one Fragment Library: These can cause problem in large projects with more developers.
  5. One Fragment for One Fragment Library:While creating fragments its a good idea to create a new Fragment Library for each fragment. Advantage is in mutiple developer projects where developers can work on there fagment with out the problem of some one else working on it and thus locking the fragment.
  6. Give User Friendly Content ID for Fragment and Layouts: This again is to make life simpler for content creators and developers.Places where we have configured to automatticaly assaign content ID its essiential that developers make sure to give proper names.  Site manager and Site Studio display the content ID when you open them for edits. Content creators will have a horendous time while selecting layouts for there sections. Instead of looking for landing layout they have to have a name value pair of layout name and content id. (Site manager utility lists the layouts  by there content id) . The other advantage is while moving code from dev to uat to prod it is easier to archive with meaning full content id's. 
  7. Do not use Site Studio Fragments AS IS: This I learned from experience. One should not use them as is. It is just for demo and to show the capabilites. Also they are slow. So create your own fragments and use them.
  8. CSS and JS do not make them Fragment Assests: This is some thing which can swing either way. Depends on the project you are doing. In case there are fragments reffreing to same JS check them in. Buts I feel its more prudent in cases we have dyanamic list fragments depending on same CSS and JS but uses different queries and other places like that.
  9. Assign Fragments under proper sections: In site studio fragments are listed under 4 categories. Navigation, Static, Dynamic and Other. If we do some house keeping here we can find things what we are looking for faster.
  10. Always have a blank head section: Only way you can add a head section code for the fragment once created is to delete it and recreate. Hence as  a precausion keep that section always. You never know when requiremnets change.
  11. We can configue Linking in Contribution: File -->Site --> Advanced --> set default link format. ssLink usually preffred
  12. Cache Include: bin idoc script guide to speed up site
  13. Layout manually set values: No code on layout pages, no hard code values, put conditioned idoc to show 2,3 columns.
  14. URL Page Name: To get friendly names. 
  15. Design view code name same as Fragment Name: This is what you see in the tool box and also when you put them on the layout page.
  16. Fragment type to refrence:  I will get back to you on this.
Hope this is help full In case you would like to know more drop a comment i will be happy to look into my notes or do some research my self. I hvae tried to write most of the points as is from the webinar in case you find any things differnt let me know i will be happy to change.  Some expamples mentioned are my own experinces.

3 comments:

John Sim said...

Thanks for this :)
Can you link to the webinar I must of missed it..

Anonymous said...

Hi,

I found a link to this webinar here: http://www.ioug.org/client_files/networking/sigs/archived_webcasts/2008-11-13_SiteStudio_Best_Practices.wmv

Anonymous said...

Do you know if its possible to change the fragment library a fragment is already assigned too?