A few quick question about security based on languages, not just on pages. There are quite a few things I'd like to do. In summary, some of our sites support many markets. We do not want to allow editors from the markets to mess up each others sites. The sites have *almost* identical structures so use the same pages. Each market does not have its own root in the EPiServer tree.
Are any of these easy/possible:
* Assign some editors a language (or group of languages). Quite happy to make new groups for each language if required, and put certain editors into each of these.
* Set the initial language of the editor based on the groups.
* Filter the tree so language specific editors don't see the pages that don't exist in their branch (the italic ones). I can probably write a filter to do this one.
* Only allow editors to edit pages in their language
* Only allow editors to edit properties that do not vary by language, unless their language is the master.
the trickiest thing is to have security on languages, as that is not something EPiServer supports. You can add events to track editing after the edit has been done, doing the security checks in the Publishing event for an example. Not the most user friendly option I admit.
Check out the GlobalPageValidation class in the EPiServer namespace, the events there can help you both validate on a broader level than per-property and also lets you provide a proper error message to the editor.
I cannot see a clear-cut solution, and if even possible, it will require some work on your part, hooking the correct events and doing save validation.