Sites
The website is stored in SVN, url is here:
The 'pre-launch' deployment URL is here:
Any code changes to the site should be done via SVN, and then pushed via the deployment script.
Deployment
Deployment is done via the ej-webupdate script, stored in SVN. Note it requires the AWS keys in order to operate
Todo
System / environment
- Acquire an inexpensive SSL cert and install it into AWS so all of eventj is SSL covered
- Set up an AWS MySQL? instance
- Spin a new host in AWS called 'app01.aws.stonekeep.com' and use it for deploying new congo instances
- Create a rule on web01.aws.stonekeep.com that says "requests for eventj.com/c/xxxx" get forwarded to app01.aws.stonekeep.com. See below under Deployments for why.
Basic Webpage design / layout
- Clean up the 'rotating' graphics on the home page to either have better stock art or they should expand to cover the entire block
- The home page (and subsequent pages), either in the header or footer, should have an "Email" "Password" [LOGIN] link so existing users can access their dashboard. "Account Management" below
- All sub-pages need to have active content on them. Just making empty template pages for all the content is fine, Dave can fill in the details after, but the pages need to be there and formatted.
- The 'Gallery' links at the bottom should be screenshots and badges and registration images.
- "Our Clients" should link to:
- The "Contact" link in the footer pops up a form for email - I *think* email is being sent, btu the result form is ugly as hell.
- Newsletter subscription should generate email to info@stonekeep.com that says "This person wants to subscribe to the newsletter* and have some nice result page saying "Your name has been submitted to be added to our newsletter. You'll receive notification when that has been completed."
- Note that the 'dashboard' pages and account management do NOT need to use the eventj landing page stylesheet. It can be as simple / elegant as needed. The landing page is jsut for marketing. Once you log in, you're not needing the marketing pages anymore.
Account Management
- "Sign Up Now" needs to go to a basic information form that allows users to create logins.
- Login names will be emails. If an email exists in the database, prompt for re-entry
- Accounts won't become active until activated via an emailed link
- Accounts will be stored in a MySQL? instance. The database should be 'provisioning' or something like that. It will be referenced from scripts that are doing deployments and billing.
- Once someone logs in, they'll go to a 'dashboard' that shows their account status and the status of any Events they have configured. (Events may be the wrong word - Deployments? Dunno) I recommend looking at the 'linode' login / dashboard system. It's excellent.
- The dashboard will have account status, latest billing information, latest notifications.
- See the above note on stylesheet / landing page design
Deployments
This can be as hacky as we like, but the gist will be:
- A user goes to their dashboard and says "I want to deploy an event"
- they are prompted with basic information - name of the event, basic con_detail stuff, and hit "Go."
- the provisioning database is updated to reflect that such and such a user has requested deployment of such and such a host.
- A script deploys a congo.home configuration file that has the basic information listed above
- A script creates a new database in mysql for this congo instance, and puts the database name into the congo.home config file before
- A script deploys a copy of the .war file for CONGO into Tomcat to a hashed directory target, so that it will show up as 'eventj.com/c/a2b3df05/' or whatever, using the congo.home configuration variable defined above.
- The user should see a 'deploying...' screen while this is going on. It shoudl not take more than 10 seconds or so.
- "Your new host is ready, it's URL is..." - Click to return to your dashboard (which will now reflect the newly deployed CONGO instance)