{ /* -*- Mode: java; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ requires = ( MAIN, Appointments, CommonUI ); publicResources = (); factories = { }; classes = { SOGoRootPage = { superclass = "SoComponent"; protectedBy = ""; defaultRoles = { "View" = ( "Authenticated" ); }; }; SOGoObject = { protectedBy = ""; defaultAccess = "allow"; defaultRoles = { "View" = ( "Owner", "ObjectViewer" ); "Change Images And Files" = ( "Owner", "ObjectEditor", "PROPPATCHer" ); "Access Object" = ( "Owner", "ObjectViewer", "ObjectEditor", "ObjectCreator", "ObjectEraser" ); "Access Contents Information" = ( "Owner", "ObjectViewer" ); "Add Documents, Images, and Files" = ( "Owner", "ObjectCreator" ); "Add Folders" = ( "Owner", "FolderCreator" ); "ReadAcls" = ( "Owner" ); "Change Permissions" = ( "Owner" ); "Delete Object" = ( "Owner", "ObjectEraser" ); "WebDAV Access" = ( "Owner", "ObjectViewer", "ObjectEditor", "ObjectCreator", "ObjectEraser" ); }; methods = { DELETE = { protectedBy = "Delete Object"; }; GET = { protectedBy = "Access Contents Information"; }; PUT = { protectedBy = "Change Images And Files"; }; }; }; SOGoContentObject = { superclass = "SOGoObject"; defaultAccess = "allow"; /* defaultAccess = "Access Contents Information"; */ protectedBy = "Access Object"; defaultRoles = { "Access Contents Information" = ( "Owner", "ObjectViewer", "ObjectEditor" ); "Change Images And Files" = ( "Owner", "ObjectEditor" ); "Delete Objects" = ( "Owner", "ObjectEraser" ); }; }; SOGoFolder = { superclass = "SOGoObject"; protectedBy = "Access Object"; defaultRoles = { "Change Images And Files" = ( "Owner", "ObjectEditor", "PROPPATCHer" ); "View" = ( "Owner", "ObjectViewer", "ObjectEditor" ); "Access Object" = ( "Owner", "AuthorizedSubscriber" ); "Access Contents Information" = ( "Owner", "ObjectViewer", "ObjectEditor" ); "WebDAV Access" = ( "Owner", "AuthorizedSubscriber" ); "Delete Object" = ( "Owner" ); "Delete Objects" = ( "Owner", "ObjectEraser" ); }; }; SOGoParentFolder = { superclass = "SOGoFolder"; protectedBy = "Access Contents Information"; defaultRoles = { "Access Contents Information" = ( "Authenticated" ); "WebDAV Access" = ( "Authenticated" ); "Add Folders" = ( "Owner" ); }; }; SOGoUserFolder = { superclass = "SOGoFolder"; protectedBy = "Access Contents Information"; defaultRoles = { "Access Contents Information" = ( "Authenticated" ); "WebDAV Access" = ( "Authenticated" ); "View" = ( "Authenticated" ); }; }; SOGoGCSFolder = { superclass = "SOGoFolder"; }; }; categories = { SOGo = { // TODO: move decls to class slots = { toolbar = { value = "none"; // keep this in order to avoid lookups on username // "toolbar" }; }; methods = { view = { protectedBy = ""; pageName = "SOGoRootPage"; }; index = { protectedBy = ""; pageName = "SOGoRootPage"; }; /* crash = { protectedBy = ""; pageName = "SOGoRootPage"; actionName = "crash"; }; exception = { protectedBy = ""; pageName = "SOGoRootPage"; actionName = "exception"; }; raisedException = { protectedBy = ""; pageName = "SOGoRootPage"; actionName = "raisedException"; }; */ connect = { protectedBy = ""; pageName = "SOGoRootPage"; actionName = "connect"; }; GET = { // more or less a hack, see README of dbd protectedBy = ""; pageName = "SOGoRootPage"; }; }; }; SOGoRootPage = { }; SOGoUserFolder = { methods = { view = { protectedBy = ""; pageName = "SOGoUserHomePage"; }; logoff = { protectedBy = ""; pageName = "SOGoUserHomePage"; actionName = "logoff"; }; usersSearch = { protectedBy = "View"; pageName = "SOGoUserHomePage"; actionName = "usersSearch"; }; foldersSearch = { protectedBy = "View"; pageName = "SOGoUserHomePage"; actionName = "foldersSearch"; }; }; }; // SOGoGroupsFolder = { // methods = { // index = { // protectedBy = "View"; // pageName = "SOGoGroupsPage"; // }; // }; // }; // SOGoGroupFolder = { // methods = { // index = { // protectedBy = "View"; // pageName = "SOGoGroupPage"; // }; // }; // }; SOGoFreeBusyObject = { methods = { ajaxRead = { protectedBy = ""; pageName = "SOGoUserHomePage"; actionName = "readFreeBusy"; }; }; }; // SOGoCustomGroupFolder = { // methods = { // }; // }; }; }