Starting multiple sites as promised.
I have an ini-file which has a section for each site. This file contains the info that may be different depending on the machine I'm on. [SKH] name=SKH host=www.skherdersem.be ip=192.168.1.50 port=80 alias=myServer aliasIp=192.168.1.10 aliasPort=80 dbPlatform=Glorp.PostgreSQLPlatform dbUser=aUser dbPassword=aPassword dbConnectString=myServer:6666_football Each site has a class (subclass of AbstractSite) to start the site. I'll discuss the SKHerdersemSite here. I rarely have this but these are all class methods. start | ini | DatabaseManager reset: self sitename. "self sitename returns 'SKH'. It's the internal identifier of the site. The DatabaseManager is used for my GLORP descriptors, and I want to be sure that there is nothing left if I need to restart the site" self tableDefinitionClass setUp. "GLORP initializations are done here" self isRunning "isRunning is a class variable from AbstractSite that is set once that SwazooServer is running, so it's only started once" ifFalse: [Swazoo.SwazooServer start. self isRunning: true]. ini := DatabaseManager readIni: self sitename. "the ini-file is read into an object" (Swazoo.SwazooServer singleton siteNamed: ini websiteName) isNil ifTrue: [self createAIDASite: ini]. "if the site is not known within SwazooServer then it's created using the info from the ini file" (AIDASite named: ini websiteName) urlResolver defaultURL: self root forObject: self portalClass new. "setting the default URL for the site. root is here a simple '/' and the portalClass is the class that will generate the initial page." (AIDASite named: ini websiteName) styleClass: self styleSheet; style: nil. "setting and initializing the stylesheet class" (AIDASite named: ini websiteName) initFavicon. "setting the favorite icon" (AIDASite named: ini websiteName) urlResolver defaultURL: self root , '/safe.html' forObject: (AIDASite named: devets websiteName) securityManager. "initialize the URL for the securityManager" self hookAdditionalUrlHook: ini. "this hook can be used to initialize additional URL for a specific site, I pass in the ini file content since it might have usefull info (sitename)" (AIDASite named: ini websiteName) addAlias: (AIDA.SiteIdentifier host: ini aliasHost ip: ini aliasIp port: ini aliasPort). "setup of an alias. When I used dyndns I couldn't connect to my dyndns from my own network and I needed to setup an alias. This is not really required." (AIDASite named: ini websiteName) start. "start the site" self setSecurity "setting the security, still very basic but waiting for improvements of AIDA on this part" --
Dirk Verleysen [verleysen.net]
_______________________________________________ Aida mailing list [hidden email] http://lists.aidaweb.si/mailman/listinfo/aida |
Free forum by Nabble | Edit this page |