Joomla Setup and Config

This list documents the major steps and items to configure a default Joomla install to become the QEESI web site.

User Manager

  • Establish admin user account(s);
  • Create Guest User Group as child to Public;
  • Create Guest Viewing Access Level and asign the Guest user group;
  • Open Options in the User Manger and choose Guest as the Guest User Group;

Extensions

  • Install JCE Editor component to increase article editing capabilities;
  • Install Sourcerer plugin to allow insertion of code directly in articles. This is used to customize the questionnaire response;
  • Install JoomPlace Quiz Deluxe Component 3.1.4;
    • JoomPlace support login is xxxx / xxxxx
    • Add css customizations to the end of personal.css;
    • To use the quiz import capability, the directory permissions of the joomla media directory must be modified to allow "write" for the dameon user. This was accomplished using the sftp (winscp) to change the bit.
  • Install JoomPlace Quiz Deluxe MyResults Module 3.1.4
    • Create a backup copy of the file: /joomla/htdocs/modules/mod_quiz_myresult_backup.php;
    • Modify the file /joomla/htdocs/modules/mod_quiz_myresult.php;
  • Install Hoduma Help Desk (optional) as a quick and dirty web site update management tool;
  • Install Redirect Failed Login;
  • Modify the Pagebreak plugin settings to display with tabs;
  • Install custom developed plugin Authentication - Joomla;
  • Create a copy of the Login Module. Configure one for the issues login and the other one for the Personal Identifier login;
  • Manully upload via ftp the CTCT-OAuth2 php library to /joomla/libraries/. This library is customized with your Constanct Contact credentials and access token;
  • Modify the mailto component to disable the "sent from" email address. Since we do not collect actual email addresses with each GUID account, we must create a bogus email address that joomla requires to create a new account. Comment out the line: //$data->from        = $user->get('email'); Rather than editing the joomla core file, create a copy using the joomla override method. Create an override file of "/opt/bitnami/apps/joomla/htdocs/components/com_mailto/views/mailto/view.html.php" to "/opt/bitnami/apps/joomla/htdocs/templates/beez_20/html/com_mailto/mailto/view.html.php" and comment out the line. NOTE: The methods to override as provided here: http://docs.joomla.org/How_to_override_the_component_mvc_from_the_Joomla!_core  do not seem to be working so this was implemented as a core hack in the original file.

Global Configuration

  • Mail Settings
    • Mailer: SMTP;
    • SMTP Authentication: Yes;
    • SMTP Security: TLS;
    • SMTP Port: 25;
    • SMTP Username: [Provided in the AWS setup article];
    • SMTP Password: Provided in the AWS setup article];
    • SMTP Host: email-smtp.us-east-1.amazonaws.com;
  • Site Settings
    • Site Name: QEESI;
    • Default Editor: JCE;

Template Manager

  • Modify Beez site template settings to change the header image;
  • Add CSS Customizations to the end of personal.css;

Article Manager

  • Add Article Categories;
  • Add Articles;

Import JoomPlace Quizzes

  • First make sure that the 'media' directory in the joomla directory is open to write access - can be done via ftp. If you get an error about the xml file when importing, that indicates that the media directory is read only;
  • Import backup zip file using the JoomPlace quiz componenet to establish most of the "quiz" settings. Unfortunately, this export/import process is not perfect and does not retain all the settings and so some must be manually re-instated after importing;
  • Manually add Question Categories:
    • Chemical Exposures;
    • Chemical Exposures (Before Exposure Event);
    • Impact of Sensitivities;
    •  Masking Index;
    • Other Exposures;
    • Other Exposures (Before Exposure Event);
    • Symptoms;
    • Symptoms (Before Exposure Event);
  • Add a page break after the last question in each question category; 
  • Each question must be manually modifid to:
    • Question Options Layout: Horizontal;
    • Divider Line: Do not add divider line after this question;
    •  

Menu Manager

  • Modify the Top menu, add menu items for:
    • QEESI (Public)
    • Take the QEESI (Guest)
    • Comparative QEESI (Registered)
    • Issues ()

 

Other Configuration

  • If you want to change the default URL from http://your_domain/your_application to http://your_domain, you should add a "DocumentRoot" entry in your application conf file. Edit the /opt/bitnami/apps/your_application/conf/your_application.conf file to add this line and commenting the "Alias" entries. You should replace "your_application" with drupal, wordpress, joomla or your own application. You can use the "nano" command line editor or you can also edit this file from your favorite FTP program. Sample "your_application.conf" file content:

DocumentRoot "/opt/bitnami/apps/joomla/htdocs"
# Alias /joomla/ "/installdir/apps/joomla/htdocs/"
# Alias /joomla "/installdir/apps/joomla/htdocs"
...

Cookies and Privacy for this site

  • Joomla establishes session cookies to track a guest and logged-in user session on the client browser. All session cookies are destroyed when closing the browser. Additional joomla extensions may also establish cookies based upon the programming of the individual component. As such, there is no global configuration ability to control all cookies that a Joomla site may produce.
  • During a normal user session at the QEESI site, 2 session cookies are placed on the client machine with the following sample data:
    • www.qeesi.org    FALSE    /    FALSE    0    f53dbbd9c79e98cbb8cba102bbb40f86    ddf2fkquehfpd0fcovkjulnvl4
    • www.qeesi.org    FALSE    /    FALSE    0    quizupi[15]                                       57cc18428edb968f0faeb7bf819e5d8b
  • The first is the joomla session for the guest user. The second is created by the quiz component indicating the quiz session.  Additional quizzes initiated by the end user will create additional cookies similar to the second.
  • Each of these cookies is producing GUIDs that resemble the private identifier GUIDs. They are not the same and do not provide a way for a snooper to find a back door into the joomla login system.
  • The current server session timeout is 15 minutes. After no activity on the site for 15 minutes, the user that took a qeesi will no longer have a session and will no longer have access to the results page.
  • However, before that 15 minute session expires, it is possible for a user to navigate away from the qeesi site, but when returning see the results page. If another user uses the same computer and the same open browser to navigate back to the qeesi site within that 15 mniute time frame, that second user will also see the results page.
  • We fix this by forcing a session close when all browser pages no longer have a url location of www.qeesi.org.

Joomla Updates

  • Use the Joomla update tool at Components > Joomla Update.
  • A manual Joomla update was requried.  This may be due to the user account that owns the joomla installed files is different than the joomla super user account. A manual upgrade means that the Joomla update patch must be downloaded locally, unzipped, and using ftp-manually overwrite the files contained in the patch. Do not overwrite the template directory because this may overwrite visual template settings that have been customized.

Backkups

  • Akeeba is installed. Navigate to Components > Akeeba > Backup Now and click the backup button to create a file and database backup.

Database