(→Software architecture) |
(→Environment overview) |
||
| (21 intermediate revisions not shown) | |||
| Line 20: | Line 20: | ||
== Environment overview == | == Environment overview == | ||
| - | Michael R. Shaver from Intel is responsible for hosting. | + | Michael R. Shaver from Intel is responsible for hosting. Developer.meego.com is hosting at Oregon State University (OSU) |
'''Production and staging environment''' | '''Production and staging environment''' | ||
| Line 26: | Line 26: | ||
Production and staging environment are in the same server. No passwords are used, instead we are using SSH public keys which should be provided to Michael when server access is needed. | Production and staging environment are in the same server. No passwords are used, instead we are using SSH public keys which should be provided to Michael when server access is needed. | ||
| - | Production site is mapped to document root " / | + | Production site is mapped to document root "/data/sites/hthome/developer.meego.com/htdocs" and uses " dev_meego " database/name. Folder is linked to repository and should contain latest stable snapshot of site. |
| - | Staging site is mapped to document root " / | + | Staging site is mapped to document root "/data/sites/hthome/dev.developer.meego.com/htdocs" and uses " dev_dev_mego " database/name. Folder is linked to repository and has latest state of the site. |
'''Development environment''' | '''Development environment''' | ||
| Line 48: | Line 48: | ||
== Database architecture == | == Database architecture == | ||
| - | Site uses Drupal's default structure, collation, storage engine. | + | Site uses Drupal's default structure, collation, storage engine.<br/ > |
| - | + | Staging site is not using shared tables.<br/ > | |
| - | Staging site is not using shared tables. | + | Production site is using following database settings:<br/ > |
| - | + | ||
| - | Production site is using following database settings: | + | |
<pre>$db_prefix = array( | <pre>$db_prefix = array( | ||
'default' => '', | 'default' => '', | ||
| Line 127: | Line 125: | ||
= 4. Detail description of content structure = | = 4. Detail description of content structure = | ||
| + | ==Content types== | ||
| + | *'''Api page'''<br/ >The API pages are simple pages, used to display API content | ||
| + | *'''Book page'''<br/ >A book page is a page of content, organized into a collection of related entries collectively known as a book. A book page automatically displays links to adjacent pages, providing a simple navigation system for organizing and reviewing structured content. | ||
| + | *'''Event'''<br/ >All events retrieved from main site by RSS/XML feed. | ||
| + | *'''External guide'''<br/ >Places a teaser into guide sections, allowing to link to external guides. | ||
| + | *'''Feed'''<br/ >Subscribe to RSS or Atom feeds. Creates nodes of the content type "Feed item" from feed content. | ||
| + | *'''Feed item'''<br/ >This content type is being used for automatically aggregated content from feeds. | ||
| + | *'''Guide'''<br/ >Guides include both internal guides and external guides. Internal guides are written by internal users while external guides are other resource references. | ||
| + | *'''Note'''<br/ >Notes are simple pages, used in such places as Developer notes and Release notes. They provide a left hand navigation structure on their list pages. | ||
| + | *'''Page'''<br/ >A page, similar in form to a story, is a simple method for creating and displaying information that rarely changes, such as an "About us" section of a website. By default, a page entry does not allow visitor comments and is not featured on the site's initial home page. | ||
| + | *'''Promotional block'''<br/ >A Promotional block can be used to place a content teaser into a section head or on the home page with different text or images then are found in the content itself. | ||
| + | *'''Section head'''<br/ >The Section head type is used to show a selection of content in a block layout. | ||
| + | *'''Section head with lists'''<br/ >The Section head type is used to show a selection of content in blocks around a dominant content list. | ||
| + | |||
| + | ==Views== | ||
| + | |||
| + | *'''content_list'''<br/ >Enhances the default listing content interface by giving advance filters | ||
| + | *'''feeds_community_blogs'''<br/ >Displays items imported via feeds from the meego.com blog RSS feed. | ||
| + | *'''feeds_community_events'''<br/ >Displays 2 coming up events from meego community | ||
| + | *'''feeds_defaults_feed_items'''<br/ >Show feed items for a feed node. Use together with default importer configuration "Feed". | ||
| + | *'''guide_list'''<br/ >Displays guides by terms (All, Popular and Latest) | ||
| + | *'''guide_list_embed'''<br/ >Short version of guide_list | ||
| + | *'''note_navigation'''<br/ >Provides the sidebar navigation for the notes section | ||
| + | *'''Notes'''<br/ >Displays notes content | ||
| + | *'''related'''<br/ >Displays related items on a specific node | ||
| + | *'''sh_list'''<br/ > | ||
| + | |||
| + | ==Blocks== | ||
| + | |||
| + | Most of the blocks are handled by Context module which has advanced ways to configure display settings. | ||
| + | |||
| + | *'''Apache Solr Search: Filter by content type'''<br/ >Apache Solr Search engine | ||
| + | *'''API Reference'''<br/ >Displayed when browsing API documentation. Has advanced JS functionality to keep link tree usability. | ||
| + | *'''Upcoming events'''<br/ >Gets displayed at front page. Content is generated by Views module | ||
| + | *'''feeds_community_blogs* | ||
| + | *'''Search form'''<br/ >Displayed when listing guides | ||
| + | *'''related: Block'''<br/ >Displayed when viewing a guide | ||
| + | *'''ApacheSolr blocks'''<br/ >Displayed in search results page | ||
| + | *'''Nice menu'''<br/ >Primary links rendered by Nice Menu module. Displayed site wide | ||
| + | *'''Search form'''<br/ >Displayed site wide | ||
| + | *'''Primary links'''<br/ >Displayed in footer region. Content is generated by Menu module | ||
| + | *'''Guides (level 1)'''<br/ >List guide's child menu links in footer region. Generated by Menu Block module | ||
| + | *'''Footer links'''<br/ >Static menu list in located at footer region. Generated by Menu module | ||
| + | *'''Footer copywrite'''<br/ >Contains copy texts at footer region below the links | ||
| + | *'''Developer notes'''<br/ >Contains list of the notes generated by Views | ||
| + | *'''Release notes'''<br/ >Contains list of release notes generated by Views | ||
| + | |||
| + | ==Taxonomies== | ||
| + | |||
| + | *'''Guide category''' (Guide, External guide)<br/ > | ||
| + | *'''Difficulty level''' (Guide, External guide)<br/ > | ||
| + | *'''Devices''' (Guide, External guide)<br/ > | ||
| + | *'''Tags''' (Guide, External guide)<br/ > | ||
| + | *'''MeeGo''' versions (Guide, External guide)<br/ > | ||
| + | *'''Notes''' categories (note) | ||
| + | |||
| + | ==Navigation menus== | ||
| + | *'''API Reference'''<br/ >This menu is used to store menu links of MeeGo platform's documentation | ||
| + | *'''Footer links'''<br/ >This menu is used in footer region to provide copywrite links like "Privacy Policy" etc. | ||
| + | *'''MeeGo sites*'''<br/ >This menu is used as a JS drop down menu at header | ||
| + | |||
| + | ==Themes== | ||
| + | *'''MeeGo developer''' is a custom theme which is based on '''tao''' theme. '''Rubik''' is used as admin theme which also is based on '''tao''' theme. | ||
= 5. Backup solution = | = 5. Backup solution = | ||
| + | Unknown!!! | ||
= 6. Additional Materials = | = 6. Additional Materials = | ||
| + | ==Third party services== | ||
| + | '''Acquia Network'''<br/ > | ||
| + | Site is using Acquia Network to use external search index (Apache Solr). Acquia Network works as CRON runner and monitoring service. '''Michael R. Shaver''' is holding currently the Acquia Network account which is the main contact person in terms of Acquia Network subscription.<br/ > | ||
| + | |||
| + | '''Google Analytics'''<br/ > | ||
| + | Site was having before two GA tracking codes (Activeark's and MeeGo's) but we agreed to use only one (MeeGo's) in condition that Activeark will be able to see the statistics. See bug https://bugs.meego.com/show_bug.cgi?id=13307 | ||
| + | |||
| + | Activeark's account email address is <u>google@activeark.com</u>, under account <u>meego.com</u> | ||
| + | |||
| + | ==Users, Groups & Permission== | ||
| + | |||
| + | '''User design'''<br/ > | ||
| + | Only site administrators can create new user accounts. | ||
| + | |||
| + | '''Group and Permission design'''<br/ > | ||
| + | |||
| + | DMC has 4 user groups as following: | ||
| + | |||
| + | *'''administrator'''<br/ >Administrators have all permissions on site control | ||
| + | *'''editor'''<br/ >Editors have following permissions: view advanced help popup, view advanced help topic, add content to books, administer book outlines, create new books, show book reorder link, show core Outline links, create guide content, create guide_external content, create promo content, create section_head content, create section_head_view content, delete own guide_external content, edit any guide content, edit any guide_external content, edit any promo content, edit any section_head content, edit any section_head_view content, edit own guide_external content, edit own section_head content, edit own section_head_view content, administer external guides, create note content, create page content, edit any feed_item content, edit any note content, edit any page content, revert revisions, view revisions, access private content, edit private content, mark content as private | ||
| + | *'''site manager'''<br/ >Site managers have following permissions: view advanced help popup, view advanced help topic, add content to books, administer book outlines, create new books, show book reorder link, show core Outline links, delete any guide content, delete any promo content, delete any section_head content, delete any section_head_view content, administer external guides, administer menu, administer content types, delete any note content, delete any page content, administer meta tags, create url aliases, access private content, edit private content, mark content as private, access administration pages, access site reports, administer taxonomy, access user profiles, administer permissions, administer users | ||
| + | *'''user manager'''<br/ >User managers have following permissions: view advanced help popup, view advanced help topic, add content to books, access user profiles, administer permissions, administer users | ||
| + | |||
| + | ==Login (ssh) - host address== | ||
| + | developer.meego.com@otc02.sl.ssgisp.com | ||
| + | |||
| + | ==Version control - host address== | ||
| + | |||
| + | This project is under public GIT repository hosted at gitorious.org. See: http://meego.gitorious.org/meego-web-infrastructure/meego-developer-website | ||
| + | |||
| + | ==Database - host address== | ||
| + | |||
| + | Unknown | ||
| + | |||
| + | ==CRON jobs== | ||
| + | |||
| + | CRON are run by Acquia network. | ||
| + | |||
| + | ==PHP== | ||
| + | |||
| + | *'''configuration: '''<br/ >Unknown | ||
| + | *'''libraries: '''<br/ >Unknown | ||
| + | |||
| + | ==Apache (additional tweaks)== | ||
| + | |||
| + | *'''configuration: '''<br/ >Unknown | ||
| + | *'''Allowoverride: '''<br/ >Unknown | ||
| + | *'''Server signature: '''<br/ >Unknon | ||
| + | *'''modules: '''<br/ >Unknown | ||
Contents |
Current team:
Other persons involved before:
Project was initially managed in Redmine hosted by Activeark. Redmine's issue tracking was replaced with MeeGo's Bugzilla at http://bugs.meego.com. In Bugzilla, site bugs are categorized under product "developer.meego.com".
Drupal source is managed by using GIT. *Source code is public and should be available at Gitorious*. See link for the repository: http://meego.gitorious.org/meego-web-infrastructure/meego-developer-website
Michael R. Shaver from Intel is responsible for hosting. Developer.meego.com is hosting at Oregon State University (OSU)
Production and staging environment
Production and staging environment are in the same server. No passwords are used, instead we are using SSH public keys which should be provided to Michael when server access is needed.
Production site is mapped to document root "/data/sites/hthome/developer.meego.com/htdocs" and uses " dev_meego " database/name. Folder is linked to repository and should contain latest stable snapshot of site.
Staging site is mapped to document root "/data/sites/hthome/dev.developer.meego.com/htdocs" and uses " dev_dev_mego " database/name. Folder is linked to repository and has latest state of the site.
Development environment
No centralized development environment provided. Development happens locally.
Intel is currently responsible of hosting. The contact person for hosting is *Michael R. Shaver* from Intel.
Site uses Drupal's default structure, collation, storage engine.
Staging site is not using shared tables.
Production site is using following database settings:
$db_prefix = array( 'default' => '', 'users' => 'meego.', 'authmap' => 'meego.', 'openid_associations' => 'meego.', 'profile_fields' => 'meego.', 'profile_values' => 'meego.', );
Note! When synchronizing content from production site, you will be required to set node.uid to value 1 and clear cache to ensure availability of content. Nodes doesn't get loaded when user is not available (uids are different in production since we're sharing users table!).
Site is using Drupal's distribution *Pressflow* , because of better performance. Project uses PHPTemplate as template engine.
Modules
Contributed modules are located in @./sites/all/modules/contrib@.
Custom modules are located in @./sites/all/modules/custom@.
Modified contributed modules are located in @./sites/all/modules/modified-contrib@.
Most of custom modules are generated by Features module, but they might contain also alternative code in .module files made by developers.
Site is using external search indexing from Acquia Network which provides apache solr search index.
Most of the blocks are handled by Context module which has advanced ways to configure display settings.
Unknown!!!
Acquia Network
Site is using Acquia Network to use external search index (Apache Solr). Acquia Network works as CRON runner and monitoring service. Michael R. Shaver is holding currently the Acquia Network account which is the main contact person in terms of Acquia Network subscription.
Google Analytics
Site was having before two GA tracking codes (Activeark's and MeeGo's) but we agreed to use only one (MeeGo's) in condition that Activeark will be able to see the statistics. See bug https://bugs.meego.com/show_bug.cgi?id=13307
Activeark's account email address is google@activeark.com, under account meego.com
User design
Only site administrators can create new user accounts.
Group and Permission design
DMC has 4 user groups as following:
developer.meego.com@otc02.sl.ssgisp.com
This project is under public GIT repository hosted at gitorious.org. See: http://meego.gitorious.org/meego-web-infrastructure/meego-developer-website
Unknown
CRON are run by Acquia network.