Once the site files have been uploaded either by the 'one click install', or by the manual approach, you're left with the default theme and settings. I chose 'Standard' set-up, so here are the next steps...
The 'Core' modules I have on are:
- Aggregator (but only if pulling RSS feeds in)
- Block
- Comment (but only if using 'blog' or 'forum')
- Contextual links
- Database logging
- Field
- Field SQL storage
- Field UI
- File
- Filter
- Help
- Image
- List
- Menu
- Node
- Number
- Options
- Overlay
- Path
- PHP filter
- RDF
- Search (but only if needed)
- System
- Taxonomy
- Text
- Update manager
- User
The following modules are a 'must' in my opinion:
- Administration menu: http://drupal.org/project/admin_menu
- Backup and Migrate: http://drupal.org/project/backup_migrate
- Bundle Copy: http://drupal.org/project/bundle_copy
- Chaos Tool Suite: http://drupal.org/project/ctools
- Colorbox: http://drupal.org/project/colorbox
- Date: http://drupal.org/project/date
- Entity API: http://drupal.org/project/entity
- Entitiy Reference: http://drupal.org/project/entityreference
- EU Cookie Compliance: http://drupal.org/project/eu_cookie_compliance
- Google Analytics: http://drupal.org/project/google_analytics
- Hierarchical Select: http://drupal.org/project/hierarchical_select
- IMCE: http://drupal.org/project/imce
- IMCE Wysiwyg Bridge: http://drupal.org/project/imce_wysiwyg
- Libraries API: http://drupal.org/project/libraries
- Linkit: http://drupal.org/project/linkit
- Nice Menus: http://drupal.org/project/nice_menus
- Node Clone: http://drupal.org/project/node_clone
- Pathauto: http://drupal.org/project/pathauto
- Pathologic: http://drupal.org/project/pathologic
- Redirect: http://drupal.org/project/redirect
- Simple Access: http://drupal.org/project/simple_access
- Token: http://drupal.org/project/token
- Transliteration: http://drupal.org/project/transliteration
- Views: http://drupal.org/project/views
- Webform: http://drupal.org/project/webform
- Wysiwyg: http://drupal.org/project/wysiwyg
The next list of modules are an 'optional must have':
- File Force Download: http://drupal.org/project/file_force
- Job Scheduler: http://drupal.org/project/job_scheduler
- jQuery Update: http://drupal.org/project/jquery_update
- Maxlength: http://drupal.org/project/maxlength
- Meta Tags Quick: http://drupal.org/project/metatags_quick
- Page Title: http://drupal.org/project/page_title
- Printer, email and PDF versions: http://drupal.org/project/print
- Quick Tabs: http://drupal.org/project/quicktabs
- Rules: http://drupal.org/project/rules
- Site Map: http://drupal.org/project/site_map
- SMTP Authentication Support: http://drupal.org/project/smtp
- Views Slideshow: http://drupal.org/project/views_slideshow
- Wysiwyg Spellcheck: http://drupal.org/project/wysiwyg_spellcheck
- Respond JS: https://drupal.org/project/respondjs
- TB Mega Menu: https://drupal.org/project/tb_megamenu
Once the above modules have been installed and activated, several thing will need to be set-up:
- To fully activate 'Simple Access' you will need to rebuild permissions... (admin/reports/status/rebuild)...
- IMCE has a default profile which needs to be turned on for 'authenticated users' if needed, or a new profile might need to be created... (admin/config/media/imce)...
- The Date API requires that 'site timezone and first day of the weel' are set... (admin/config/regional/settings)...
- The Date API also requires 'date format' to be set... (admin/config/regional/date-time)...
- It's also worth adding some new formats:
- PHP code: j M, Y - g:i A (produces: 21 Jan, 2013 - 5:00 PM)
- PHP code: j M Y (produces: 21 Jan 2013)
- PHP code: jS M 'y (produces: 21st Jan '13)
- PHP code: jS M Y (produces: 21st Jan 2013)
- Linkit needs a profile creating.. (admin/config/content/linkit)...
- Select the 'Add New Profile' tab, enter a title (i.e. 'Main') and enable the 'Node' plugin...
- Enable 'IMCE file picking if required.
- You need to specify a location to act as your 'Private' file directory... (admin/config/media/file-system)...
- I use: sites/default/private_files
- however, you might get a permissions error and you'll have to create the 'private_files' folder manually.
- To do this, you'll need to change the 'sites/default' folder permission from '555' to '777'.
- Create the new folder so the path is 'sites/default/private_files', and change the permissions of the 'sites/default' folder back to '555'.
- Colorbox needs the plugin files downloaded and placed in the 'sites/all/libraries' folder on your server. So the javascript file has a path of: sites/all/libraries/colorbox/jquery.colorbox-min.js
More to follow, inc.
- Set default input filter (Text Formats admin/config/content/formats) to Full HTML. (Simple drag 'Full HTML' to the top of the list.
- Set-up WYSIWYG (admin/config/content/wysiwyg).
- This includes downloading a WYSIWYG editor from the list, and unpacking and uploading the files into your sites/all/libraries folder.
- Once done, you'll see the available formats listed, with a dropdown box with 'No editor' as the default. Select the Editor of choice for the 'Full HTML' text format.
- Once done (I'm using TinyMCE 3.5.8 for this example), you'll see 'edit' and 'delete' under the 'Operations' heading. Click 'Edit'.
- Here we have a few sections, but it's really 'Buttons and Plugins' that we're interested in. I normally tick:
- Bold
- Italic
- Underline
- Bullet List
- Numbered List
- Outdent
- Indent
- Undo
- Redo
- Link (select this here, but use LinkIt as it's easier)
- Unlink
- Image
- Block Format
- Styles
- Remove Format
- Character Map
- Paste from Word
- Word count
- IMCE
- LinkIt
- Media Browser (if you've installed it)
- Set-up Image Cache which is now part of the core and called Image Styles (admin/config/media/image-styles).
Drupal lets you create a new revision every time a node is updated. This allows you to track how the node has changed over time on your site.
To enable this feature you need to go to each 'content type', (see a list here admin/structure/types), and click 'edit' under 'Operations'. For example purposes, I'm going to select 'Basic Page', so the url in this case is: admin/structure/types/manage/page.
Under 'Publishing options' in the tab section at the bottom of the page, you'll see 'Create new revision'. Ticking this box will result in a new revision being created every time the node is edited of this 'content type', so you can switch them one for certain types, and not others.
To view and manage revisions, use the Revisions tab when viewing a node (you must have "view revisions" or "administer nodes" permission to view revisions.) From the Revisions tab, you can view the individual revisions, revert to an earlier revision, and delete revisions (you must have the "administer nodes" or "revert revisions" and "delete revisions" permissions).
One interesting detail of the system is the behaviour of the reverting mechanism. Let's say you have revisions {1,2,3,current}. If you revert to revision #2, a copy of #2 is made and the copy is set as the current revision. Thus, after reverting you'll have {1,2,3,4,current}, where current is a clone of #2, and #4 is the previous current revision.
Another useful feature of the revision system is the Log field, which appears near the "Create a new revision" check box on the node editing form. If you add a message to the Log field when you create a revision, that message will appear on the Revisions tab along with the revision. It is a good idea to add a meaningful Log message whenever you create a node revision, so that others (or you, months later) can see why you changed the node and what your changes were, without having to actually view the previous revision.
- Page Title Settings (admin/structure/types/manage/page) as with revisions, this needs to be done on an individual 'content type' basis. Edit a content type and at the very bottom of the page, in the tabbed section you'll see 'Page Title Settings'. Simply tick the 'Show field' box.
- URL Alias (admin/config/search/path/patterns)
- Change 'content/[node:title]' to just '[node:title]' for default and for 'Basic Page' use '[node:menu-link:parents:join-path]/[node:title]' which uses the menu to generate helpful URL's
- If you create an 'event' content type, with a 'date field' called 'event date', you can also use something like: events/[node:field-event-date:custom:Y]/[node:title]
- Under the 'Settings' tab, there is a textarea box called 'String to Remove'... I normally remove everything otherwise a page titled 'looking for a solution to a problem' would become 'looking-solution-problem' when 'looking-for-a-solution-to-a-problem' is a neater option in my opinion.
- Site Information (admin/config/system/site-information)
- Default From Page - I normally create the home page first, so ste this to 'node/1'
- Default 403 (access denied) - I normally set to 'user' so people with access can log in
- Default 404 (not found) page - I often set as either 'node/1' for the home page, or I create a custom page that lists possible pages of interest.
Setup Backup and Migrate (admin/config/system/backup_migrate) by creating a 'destination' on the local server, and then a 'schedule' that create a daily backup.
I sometimes have issues with 'memory'. This often causes the 'modules' page to appear 'blank' when you save the settings. There are a couple of things that are worth setting...
- Add a new line to your settings.php file to increase the memory allocation for heavy resource pages (like ‘modules’ and ‘blocks’). Add something like ini_set('memory_limit','516M');
This might require you to change the file permissions in order to upload the changed file. Simply change it to '777', upload, then change it back. Depending on your hosting, it'll be either '600' or '400'... Just don't leave it as '777'....! - The other thing I do with my shared host, is to add a php5.ini file. This is just a basic text file saved as a .ini file, created in notepad, and consists of a few lines that aid with a few things that shared hosting seem to have issues with. A example of the contents are:
memory_limit = 516M
allow_url_fopen = On
allow_url_include = On