[opencms-dev] Projects vs sites & rights management

Claus Priisholm cpr at codedroids.com
Wed Apr 16 09:54:15 CEST 2008


Think of projects as a way to keep multiple editors from stepping on 
each others toes when it comes to publishing.

If you have say the Offline and a NewSection project, you can do the day 
to day changes (changing typos and what have you) "inside" the Offline 
project. At the same time you could be building a new section for your 
homepage "inside" the NewSection project.
Since the latter is likely to go on for a longer period of time you 
would like to make sure that nothing from this part of the homepage gets 
published before it is all finished and ready for publishing. By keeping 
the changes inside a specific offline-project you can do that.

If you choose to publish the Offline project only changes inside that 
project is published whereas the changes inside the NewSection project 
is not published.

Now the question is why use project publishing in the first place 
instead of just direct publishing?

In v.7 this is mostly a question of convenience as the new content 
relation engine makes it easier to ensure that related contents is 
published as well when you do a direct publish.
In previous versions you would not be prompted if related contents was 
not yet published, possible leading to dead links in the Online version. 
Back then the best way to ensure this did not happen was by using the 
project publish which would then publish all changes in one go.

I still find projects a convenient way to deal with parallel "work in 
progress" scenarios, but if you need detailed control over who can 
publish what, you may find that allowing users to do project publishing 
makes this difficult (since the direct publish ACL setting is ignored by 
project publish).

Also there are couple of things to keep in mind:

Projects are not some kind of version control system, there are only one 
copy of the resource and it "belongs to" the project in which it was 
last changed (i.e. if you create a resource in the NewSection project, 
and then later - while in the Offline project - locks it, the resource 
is then considered to belong to the Offline project).

The second thing to notice, is that it is not a replacement for setting 
the access permissions on the resources. You can assign folders to a 
project and as an effect ensuring that - once "inside" the project - the 
user cannot edit contents outside the project. But since using a 
different project (such as Offline) would circumvent that security, it 
is much safer to assign the necessary permission to the appropriate 
folders and so forth as these will always be enforced, no matter what 
project you're inside.

/Claus

Chirouze Olivier wrote:
> Hi Michael and thanks again for your answer.
> 
> The concept of "sites" is quite well explained indeed. (I was able to
> add sites, affect them to some groups, set a default site, etc).
> 
> I do see what "offline" and "online" mean, but I can't really understand
> in which case you would create sub-projects and what they are aimed for.
> 
> Could someone explain or point to some documentation module about new
> projects?
> 
> Thanks
> 
> Olivier 
> 
>> -----Original Message-----
>> From: opencms-dev-bounces at opencms.org 
>> [mailto:opencms-dev-bounces at opencms.org] On Behalf Of Michael Emmerich
>> Sent: 14 April 2008 16:18
>> To: The OpenCms mailing list
>> Subject: Re: [opencms-dev] Projects vs sites & rights management
>>
>> Olivier,
>>
>>> Hi all!
>>>
>>> This will be my first post to the list but I might be back for more
>>> technical questions later on ;-)
>>>
>>> I am planning to use OpenCms for the following need:
>>> - only managing "pure static content" (will be used more as 
>> a document
>>> managing system: html, pdfs, images)
>>> - group of users will need to manage one or many "sites".
>>> - I would like to allow these users to have rights only on 
>> their sites
>>> (a site manager is allowed for upload, delete, create... 
>> And publish,
>>> but only on his site(s)).
>>>
>>> I have been impressed by OpenCms user, groups, and 
>> organizational unit
>>> features... And I think I understand them now ;-)
>>>
>>> I have started to play with permissions and groups on folders and I
>>> think I will be able to manage to have some users allowed on some
>>> directories quite easily. But as far as I understood, "publish" will
>>> always publish all subdirectories... Or maybe not with subprojects?
>>>
>>> My question is: what exactly is a "project" and a "site" in 
>> OpenCms? The
>>> next question is: how would you advice me to use projects 
>> and sites to
>>> achieve the above goal?
>>>
>>> I don't really understand the concept of offline / online 
>> project, and
>>> /sites file tree.
>>
>> Online / Offline, this is easy:
>> Normally you have an OpenCms system running on the server 
>> that delivers 
>> your website. Therefore, all access to the system will also read the 
>> content of the online project.
>> When you log in the OpenCms workplace, you can switch to the 
>> different 
>> projects, by default you have "Online" and "Offline".
>> To edit some content, you have to be in the "Offline" 
>> project. You can 
>> do your changes, check if your changes "look good" in your 
>> templates and 
>> so on. As long as you are doing so, the visitor of your 
>> website will not 
>> see your changes as you have made them to the "Offline" 
>> project and he 
>> is always accesing the "Online" project. Therefore you have 
>> to publish 
>> the content to get it online. Publishing can only be done if you have 
>> the role of a projectmanager, so you can have users which are able to 
>> edit the content and tohose to review the changes and put it online.
>>
>>
>> About the sites:
>> One OpenCms installation can be used to serve multiple sites. Each of 
>> the folders in the /sites folder has the content for a single 
>> website. 
>> Please take a look at the documentation module about 
>> multisite which is 
>> part of your OpenCms installation.
>>
>>
>>> Hope I was clear... I am not saying there is no clear doc on the
>>> subject... But I didn't find it!
>>>
>>> Thanks in advance!
>>>
>>> Olivier
>>>
>>> _______________________________________________
>>> This mail is sent to you from the opencms-dev mailing list
>>> To change your list options, or to unsubscribe from the 
>> list, please visit
>>> http://lists.opencms.org/mailman/listinfo/opencms-dev
>> Kind regads,
>> Michael Emmerich
>>
>> -- 
>> Michael Emmerich
>> Alkacon Software GmbH - The OpenCms Experts
>>
>>
>> Visit OpenCms Days 2008 Conference and Expo
>> May 5 to May 6 2008 in Cologne, Germany
>>
>>
>> http://www.alkacon.com
>> http://www.opencms.org
>>
>> _______________________________________________
>> This mail is sent to you from the opencms-dev mailing list
>> To change your list options, or to unsubscribe from the list, 
>> please visit
>> http://lists.opencms.org/mailman/listinfo/opencms-dev
>>
> 
> _______________________________________________
> This mail is sent to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, please visit
> http://lists.opencms.org/mailman/listinfo/opencms-dev
> 

-- 
Claus Priisholm, CodeDroids ApS
Phone: +45 48 22 46 46
cpr (you know what) codedroids.com - http://www.codedroids.com
cpr (you know what) interlet.dk - http://www.interlet.dk
-- 
Javadocs and other OpenCms stuff: 
http://www.codedroids.com/community/opencms



More information about the opencms-dev mailing list