2005-08-01 Helge Hess <helge.hess@skyrix.com>
+ * SOGo.m: added class security declarations (previously in
+ product.plist of MainUI), ensure that core SOGo SoClasses are loaded
+ (v0.9.40)
+
* v0.9.39
* moved MainUI product bundle to UI/MainUI
if ([ud boolForKey:@"SOGoEnableDoubleReleaseCheck"])
[NSAutoreleasePool enableDoubleReleaseCheck:YES];
#endif
+
+ /* SoClass security declarations */
+
+ /* require View permission to access the root (bound to authenticated ...) */
+ [[self soClassSecurityInfo] declareObjectProtected:SoPerm_View];
+
+ /* to allow public access to all contained objects (subkeys) */
+ [[self soClassSecurityInfo] setDefaultAccess:@"allow"];
+
+ /* require Authenticated role for View and WebDAV */
+ [[self soClassSecurityInfo] declareRole:SoRole_Authenticated
+ asDefaultForPermission:SoPerm_View];
+ [[self soClassSecurityInfo] declareRole:SoRole_Authenticated
+ asDefaultForPermission:SoPerm_WebDAVAccess];
}
- (id)init {
if ((self = [super init])) {
WOResourceManager *rm;
+ /* ensure core SoClass'es are setup */
+ [NSClassFromString(@"SOGoObject") soClass];
+ [NSClassFromString(@"SOGoContentObject") soClass];
+ [NSClassFromString(@"SOGoFolder") soClass];
+
+ /* setup locale cache */
self->localeLUT = [[NSMutableDictionary alloc] initWithCapacity:2];
+
+ /* load products */
[[SOGoProductLoader productLoader] loadProducts];
+ /* setup resource manager */
rm = [[WEResourceManager alloc] init];
[self setResourceManager:rm];
}
# Version file
-SUBMINOR_VERSION:=39
+SUBMINOR_VERSION:=40
# v0.9.32 requires libSOGo v0.9.57
# v0.9.24 requires libWEExtensions v4.5.67
+2005-08-01 Helge Hess <helge.hess@skyrix.com>
+
+ * SOGoObject.m: added class security declarations (previously in
+ product.plist of MainUI) (v0.9.69)
+
2005-07-21 Helge Hess <helge.hess@opengroupware.org>
* SOGoUser.m: added a method to fetch share/emitter address pairs from
kontactGroupDAV =
[ud boolForKey:@"SOGoDisableKontact34GroupDAVHack"] ? NO : YES;
+
+ /* SoClass security declarations */
+
+ /* require View permission to access the root (bound to authenticated ...) */
+ [[self soClassSecurityInfo] declareObjectProtected:SoPerm_View];
+
+ /* to allow public access to all contained objects (subkeys) */
+ [[self soClassSecurityInfo] setDefaultAccess:@"allow"];
+
+ /* require Authenticated role for View and WebDAV */
+ [[self soClassSecurityInfo] declareRole:SoRole_Authenticated
+ asDefaultForPermission:SoPerm_View];
+ [[self soClassSecurityInfo] declareRole:SoRole_Authenticated
+ asDefaultForPermission:SoPerm_WebDAVAccess];
}
+/* containment */
+
- (BOOL)doesRetainContainer {
return YES;
}
# version file
-SUBMINOR_VERSION:=68
+SUBMINOR_VERSION:=69
# v0.9.63 requires libNGiCal v4.5.54
# v0.9.60 requires libNGiCal v4.5.49
2005-08-01 Helge Hess <helge.hess@skyrix.com>
+ * product.plist: moved security declarations of core classes to the
+ +initialize method of the classes,
+ add SOGo application object methods in a category (was a class)
+ (v0.9.2)
+
* created UI/MainUI product bundle from sources in Main (v0.9.1)
# Version file
-SUBMINOR_VERSION:=1
+SUBMINOR_VERSION:=2
# v0.9.1 requires Main v0.9.59
publicResources = (
);
- classes = {
+ categories = {
SOGo = { // TODO: move decls to class
- superclass = "SoApplication";
- protectedBy = "View";
- defaultAccess = "allow";
- defaultRoles = {
- "View" = "Authenticated";
- "WebDAV Access" = "Authenticated";
- };
methods = {
index = {
protectedBy = "View";
};
};
};
+ };
+ classes = {
SOGoRootPage = {
superclass = "SoComponent";
protectedBy = "View";
};
};
- SOGoObject = { // TODO: move decls to class
- protectedBy = "View";
- defaultAccess = "allow";
- defaultRoles = {
- "View" = "Authenticated";
- "WebDAV Access" = "Authenticated";
- };
- };
- SOGoContentObject = {
- superclass = "SOGoObject";
- };
- SOGoFolder = { // TODO: move decls to class
- superclass = "SOGoObject";
- };
-
SOGoUserFolder = {
superclass = "SOGoFolder";