Story about migrating public website of one of the oldest universities in Europe from proprietary CMS to Drupal 7. Presented by Mekaia (http://mekaia.com) at DrupalCamp Baltics 2012 (http://www.drupalcamp.lv/).
4. When we started
• 80+ proprietary CMSin
one
multilingual sites
• Funky navigation
scheme
• Fading technology and
support
5. After 6 months
• New live site on
Drupal 7
• Mainlanguages site
in 4
university
• Fresh graphics and
navigation
• 70+migration waiting
for
sites still
www.ut.ee
6. After 12 months
• 6 additional sites
migrated
• Less bugs
• 60+migration waiting
for
sites still
7. Scale and scope
• 80+ sites in one
Drupal installation
• 300 daily content editors
- 50 editors for main site
- Each in 4..2 languages - 250 for other sites
- One main site www.ut.ee - One central administrator
- Other sites for Faculties, Institutes,
-
Colleges, other bodies
Takes about two years to migrate
• Volume
them all after completing fist stage - 28 000 nodes on main site
- 925 menu items
- 20 000 document files in public folder
• Integrationssystems
8 backend
with
8. Login
• Username/password against
university’s central LDAP,
combined with web service
• Estonian ID-card and
mobile-ID
9. User interface
Few tools and content types
• Most daily editors
from
features hidden
• Few content types
• Workbench
10. Re-worked tabs
Add new sub-page
- Menu and parent menu element gets created automatically
11. Re-worked tabs
Add different content to the page, even different regions
- Creates automatic relations using node reference
13. Re-worked tabs
Child
Main node, defining the menu node,
shown via
view and
node
reference
14. There’s a module for that
350 modules used
Multisite and Content editing Views and
internalization and organizing layout
- Domain Access (vs - CKeditor with custom - Webform with
multisite) styles Clientside validation
- Internalization - IMCE vs Media - Simple ads
- Custom module for - Linkit - Views (31)
allowing same alias in
different sites - Diff and revisions - Display Suite
- Transliteration - Autosave - Context (7)
- Content lock - Panel (few)
- Link checker - Menu firstchild
- Automated logout
15. There’s a module for that
350 modules used
Multisite and Content editing Views and
internalization and organizing layout
- Domain Access (vs - CKeditor with custom - Webform with
multisite) styles Clientside validation
- Internalization - IMCE vs Media - Simple ads
- Custom module for - Linkit - Views (31)
allowing same alias in
different sites - Diff and revisions - Display Suite
- Transliteration - Autosave - Context (7)
- Content lock - Panel (few)
- Link checker - Menu firstchild
- Automated logout
16. There’s a module for that
350 modules used
Multisite and Content editing Views and
internalization and organizing layout
- Domain Access (vs - CKeditor with custom - Webform with
multisite) styles Clientside validation
- Internalization - IMCE vs Media - Simple ads
- Custom module for - Linkit - Views (31)
allowing same alias in
different sites - Diff and revisions - Display Suite
- Transliteration - Autosave - Context (7)
- Content lock - Panel (few)
- Link checker - Menu firstchild
- Automated logout
17. There’s a module for that
350 modules used
Integration Other
- Feeds with many patches - Features (13)
- LDAP - Google CSE
21. Custom modules
Others
• Estonian ID-card and
mobile-ID support
• Italic titles Work in progress on
publishing these on
• User bulk operations drupal.org
• Media support for
www.uttv.ee
22. Public interface
• Omega base theme
- http://drupal.org/project/omega
• HTML5/CSS3
• 960.gs 12 col grid
• Nice “primary region”
feature
• Mobile adaptive
• One theme for sub-sites
sub-themes
for main site,
23. What we struggled with
Hierarchy and Access control
• Trying to create mental
hierarchy in Drupal
• Menuaccess based
user
structure
- It’s everywhere around us - Main site: 50 editors, 28 000 nodes,
4 languages
• Persisting menusViews
drilling down on
when -
-
Failed with Workbench Access
Waited for first release of Access
Control Kit
- Menu position http://drupal.org/project/
menu_position
24. What we struggled with
File management
• Need fortens ofplace to
manage
one
thousands
• IMCE
of files with folder - Existing folder hierarchy
hierarchy and access - Existing access control
control - No paging
• Media vs elFinder vs
IMCE
26. What we struggled with
Migration
Preserve all
- Content
- Hierarchy and menus
- Files
- Users
- User’s relation to content
- Content ID’s
- Aliases
27. What we struggled with
Migration
Automatweb
- Highly hierarchical
- Hundreds of content/object types
- Content often combined
#something# includes. Example:
!!!!!!!!!!!!!!!!
Hello,'visitor
#welcome(text#
Please'download'#file(1#'or'see'
#link(3#'or'send'us'some'feedback:
#feedback(form#'
#contacts(table#
!!!!!!!!!!!!!!!!
28. Deployment and performance
• Development, test and
live sites
• Boost module
• HTML and Google Page
and Apache level
• Kept in sync using
Features, Git
Yslow
speed recommendations
• Separateservers and
MySQL
HTTP
29. Who did it and what’s next
• Professional customer • Tools such planner,Asana,
Jira, Liquid
as Git,
• Mekaia: 12Project
manager, backend
Harvest, Google Docs,
Skype
programmers, 1 front-
end coder. 7 persons
during one year.
• Pushing the limits with
• Graphics design: Velvet 60 additional sites
• IA: Kristjan Jansen • Contributing to
drupal.org
30.
31. Niine 11 Tallinn
10414 Estonia
http://mekaia.com
René Lasseron rene@mekaia.com