Error message

  • Agenda: Bad call to list events. Check Google API Key or Calendar Address.
  • Google_Service_Exception: Error calling GET https://www.googleapis.com/calendar/v3/calendars/webmaster%40louisianaplanning.com/events?orderBy=startTime&singleEvents=true&timeMin=2024-03-28T00%3A00%3A00-05%3A00&timeMax=2024-06-29T00%3A00%3A00-05%3A00&maxResults=50&timeZone=America%2FChicago&key=+AIzaSyD28ifSAd-aPVzzUzcDdKTbeisaBD9kSD: (400) API key not valid. Please pass a valid API key. in /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php:83
    Stack trace:
    #0 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
    #1 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
    #2 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Resource.php(227): Google_Client->execute(Object(Google_Http_Request))
    #3 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Calendar.php(1561): Google_Service_Resource->call('list', Array, 'Google_Service_...')
    #4 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(498): Google_Service_Calendar_Events_Resource->listEvents('webmaster@louis...', Array)
    #5 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(316): _agenda_load_google('webmaster@louis...', 'public', Object(stdClass))
    #6 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(213): agenda_get_events(Object(stdClass))
    #7 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(160): agenda_display_block('1')
    #8 /home/apalouisiana/public_html/site/includes/module.inc(935): agenda_block_view('1')
    #9 /home/apalouisiana/public_html/site/modules/block/block.module(910): module_invoke('agenda', 'block_view', '1')
    #10 /home/apalouisiana/public_html/site/modules/block/block.module(689): _block_render_blocks(Array)
    #11 /home/apalouisiana/public_html/site/modules/block/block.module(318): block_list('sidebar_second')
    #12 /home/apalouisiana/public_html/site/modules/block/block.module(270): block_get_blocks_by_region('sidebar_second')
    #13 /home/apalouisiana/public_html/site/includes/common.inc(6036): block_page_build(Array)
    #14 /home/apalouisiana/public_html/site/includes/common.inc(2836): drupal_render_page(Array)
    #15 /home/apalouisiana/public_html/site/includes/common.inc(2708): drupal_deliver_html_page(Array)
    #16 /home/apalouisiana/public_html/site/includes/menu.inc(542): drupal_deliver_page(Array, '')
    #17 /home/apalouisiana/public_html/site/index.php(21): menu_execute_active_handler()
    #18 {main}
  • Agenda: Bad call to list events. Check Google API Key or Calendar Address.
  • Google_Service_Exception: Error calling GET https://www.googleapis.com/calendar/v3/calendars/capital%40louisianaplanning.com/events?orderBy=startTime&singleEvents=true&timeMin=2024-03-28T00%3A00%3A00-05%3A00&timeMax=2024-06-29T00%3A00%3A00-05%3A00&maxResults=50&timeZone=America%2FChicago&key=+AIzaSyD28ifSAd-aPVzzUzcDdKTbeisaBD9kSD: (400) API key not valid. Please pass a valid API key. in /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php:83
    Stack trace:
    #0 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
    #1 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
    #2 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Resource.php(227): Google_Client->execute(Object(Google_Http_Request))
    #3 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Calendar.php(1561): Google_Service_Resource->call('list', Array, 'Google_Service_...')
    #4 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(498): Google_Service_Calendar_Events_Resource->listEvents('capital@louisia...', Array)
    #5 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(316): _agenda_load_google('capital@louisia...', 'public', Object(stdClass))
    #6 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(213): agenda_get_events(Object(stdClass))
    #7 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(160): agenda_display_block('1')
    #8 /home/apalouisiana/public_html/site/includes/module.inc(935): agenda_block_view('1')
    #9 /home/apalouisiana/public_html/site/modules/block/block.module(910): module_invoke('agenda', 'block_view', '1')
    #10 /home/apalouisiana/public_html/site/modules/block/block.module(689): _block_render_blocks(Array)
    #11 /home/apalouisiana/public_html/site/modules/block/block.module(318): block_list('sidebar_second')
    #12 /home/apalouisiana/public_html/site/modules/block/block.module(270): block_get_blocks_by_region('sidebar_second')
    #13 /home/apalouisiana/public_html/site/includes/common.inc(6036): block_page_build(Array)
    #14 /home/apalouisiana/public_html/site/includes/common.inc(2836): drupal_render_page(Array)
    #15 /home/apalouisiana/public_html/site/includes/common.inc(2708): drupal_deliver_html_page(Array)
    #16 /home/apalouisiana/public_html/site/includes/menu.inc(542): drupal_deliver_page(Array, '')
    #17 /home/apalouisiana/public_html/site/index.php(21): menu_execute_active_handler()
    #18 {main}
  • Agenda: Bad call to list events. Check Google API Key or Calendar Address.
  • Google_Service_Exception: Error calling GET https://www.googleapis.com/calendar/v3/calendars/metro%40louisianaplanning.com/events?orderBy=startTime&singleEvents=true&timeMin=2024-03-28T00%3A00%3A00-05%3A00&timeMax=2024-06-29T00%3A00%3A00-05%3A00&maxResults=50&timeZone=America%2FChicago&key=+AIzaSyD28ifSAd-aPVzzUzcDdKTbeisaBD9kSD: (400) API key not valid. Please pass a valid API key. in /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php:83
    Stack trace:
    #0 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
    #1 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
    #2 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Resource.php(227): Google_Client->execute(Object(Google_Http_Request))
    #3 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Calendar.php(1561): Google_Service_Resource->call('list', Array, 'Google_Service_...')
    #4 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(498): Google_Service_Calendar_Events_Resource->listEvents('metro@louisiana...', Array)
    #5 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(316): _agenda_load_google('metro@louisiana...', 'public', Object(stdClass))
    #6 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(213): agenda_get_events(Object(stdClass))
    #7 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(160): agenda_display_block('1')
    #8 /home/apalouisiana/public_html/site/includes/module.inc(935): agenda_block_view('1')
    #9 /home/apalouisiana/public_html/site/modules/block/block.module(910): module_invoke('agenda', 'block_view', '1')
    #10 /home/apalouisiana/public_html/site/modules/block/block.module(689): _block_render_blocks(Array)
    #11 /home/apalouisiana/public_html/site/modules/block/block.module(318): block_list('sidebar_second')
    #12 /home/apalouisiana/public_html/site/modules/block/block.module(270): block_get_blocks_by_region('sidebar_second')
    #13 /home/apalouisiana/public_html/site/includes/common.inc(6036): block_page_build(Array)
    #14 /home/apalouisiana/public_html/site/includes/common.inc(2836): drupal_render_page(Array)
    #15 /home/apalouisiana/public_html/site/includes/common.inc(2708): drupal_deliver_html_page(Array)
    #16 /home/apalouisiana/public_html/site/includes/menu.inc(542): drupal_deliver_page(Array, '')
    #17 /home/apalouisiana/public_html/site/index.php(21): menu_execute_active_handler()
    #18 {main}
  • Agenda: Bad call to list events. Check Google API Key or Calendar Address.
  • Google_Service_Exception: Error calling GET https://www.googleapis.com/calendar/v3/calendars/north%40louisianaplanning.com/events?orderBy=startTime&singleEvents=true&timeMin=2024-03-28T00%3A00%3A00-05%3A00&timeMax=2024-06-29T00%3A00%3A00-05%3A00&maxResults=50&timeZone=America%2FChicago&key=+AIzaSyD28ifSAd-aPVzzUzcDdKTbeisaBD9kSD: (400) API key not valid. Please pass a valid API key. in /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php:83
    Stack trace:
    #0 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
    #1 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
    #2 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Resource.php(227): Google_Client->execute(Object(Google_Http_Request))
    #3 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Calendar.php(1561): Google_Service_Resource->call('list', Array, 'Google_Service_...')
    #4 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(498): Google_Service_Calendar_Events_Resource->listEvents('north@louisiana...', Array)
    #5 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(316): _agenda_load_google('north@louisiana...', 'public', Object(stdClass))
    #6 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(213): agenda_get_events(Object(stdClass))
    #7 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(160): agenda_display_block('1')
    #8 /home/apalouisiana/public_html/site/includes/module.inc(935): agenda_block_view('1')
    #9 /home/apalouisiana/public_html/site/modules/block/block.module(910): module_invoke('agenda', 'block_view', '1')
    #10 /home/apalouisiana/public_html/site/modules/block/block.module(689): _block_render_blocks(Array)
    #11 /home/apalouisiana/public_html/site/modules/block/block.module(318): block_list('sidebar_second')
    #12 /home/apalouisiana/public_html/site/modules/block/block.module(270): block_get_blocks_by_region('sidebar_second')
    #13 /home/apalouisiana/public_html/site/includes/common.inc(6036): block_page_build(Array)
    #14 /home/apalouisiana/public_html/site/includes/common.inc(2836): drupal_render_page(Array)
    #15 /home/apalouisiana/public_html/site/includes/common.inc(2708): drupal_deliver_html_page(Array)
    #16 /home/apalouisiana/public_html/site/includes/menu.inc(542): drupal_deliver_page(Array, '')
    #17 /home/apalouisiana/public_html/site/index.php(21): menu_execute_active_handler()
    #18 {main}
  • Agenda: Bad call to list events. Check Google API Key or Calendar Address.
  • Google_Service_Exception: Error calling GET https://www.googleapis.com/calendar/v3/calendars/acadiana%40louisianaplanning.com/events?orderBy=startTime&singleEvents=true&timeMin=2024-03-28T00%3A00%3A00-05%3A00&timeMax=2024-06-29T00%3A00%3A00-05%3A00&maxResults=50&timeZone=America%2FChicago&key=+AIzaSyD28ifSAd-aPVzzUzcDdKTbeisaBD9kSD: (400) API key not valid. Please pass a valid API key. in /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php:83
    Stack trace:
    #0 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Http/REST.php(41): Google_Http_REST::decodeHttpResponse(Object(Google_Http_Request), Object(Google_Client))
    #1 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Client.php(564): Google_Http_REST::execute(Object(Google_Client), Object(Google_Http_Request))
    #2 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Resource.php(227): Google_Client->execute(Object(Google_Http_Request))
    #3 /home/apalouisiana/public_html/site/sites/all/libraries/google-api-php-client/src/Google/Service/Calendar.php(1561): Google_Service_Resource->call('list', Array, 'Google_Service_...')
    #4 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(498): Google_Service_Calendar_Events_Resource->listEvents('acadiana@louisi...', Array)
    #5 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(316): _agenda_load_google('acadiana@louisi...', 'public', Object(stdClass))
    #6 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(213): agenda_get_events(Object(stdClass))
    #7 /home/apalouisiana/public_html/site/sites/all/modules/agenda/agenda.module(160): agenda_display_block('1')
    #8 /home/apalouisiana/public_html/site/includes/module.inc(935): agenda_block_view('1')
    #9 /home/apalouisiana/public_html/site/modules/block/block.module(910): module_invoke('agenda', 'block_view', '1')
    #10 /home/apalouisiana/public_html/site/modules/block/block.module(689): _block_render_blocks(Array)
    #11 /home/apalouisiana/public_html/site/modules/block/block.module(318): block_list('sidebar_second')
    #12 /home/apalouisiana/public_html/site/modules/block/block.module(270): block_get_blocks_by_region('sidebar_second')
    #13 /home/apalouisiana/public_html/site/includes/common.inc(6036): block_page_build(Array)
    #14 /home/apalouisiana/public_html/site/includes/common.inc(2836): drupal_render_page(Array)
    #15 /home/apalouisiana/public_html/site/includes/common.inc(2708): drupal_deliver_html_page(Array)
    #16 /home/apalouisiana/public_html/site/includes/menu.inc(542): drupal_deliver_page(Array, '')
    #17 /home/apalouisiana/public_html/site/index.php(21): menu_execute_active_handler()
    #18 {main}

Test

An instruction page for maintenance of APA Louisiana’s website

www.louisianaplanning.comwww.louisianaplanning.org (alias)

Overview

We have basic, “economy” shared hosting by GoDaddy Apache server with 2nd level resources upgrade to handle traffic spikes. Drupal 7.x is installed as the CMS. Corporate Clean is the style template in use. You are viewing the “secret” web page providing examples, instructions, tips, etc. for website development.

http://www.louisianaplanning.com/site/docs

This page is publicly viewable, but its URL is not publicized or linked from the website. If security becomes a problem it could be password protected. The whole purpose of using a Content Management System (CMS) is to make it easy to add content and edit the site. So, using the WYSIWYG editor you do not need to be a "coder" to add and edit content. However, to implement some of the formatting options available with this theme you will need to do a bit of HTML editing. Mostly, you can copy/paste code snippets from examples and then replace the content with your own.

Delayed Posting

This is an explanation of what may seem to be odd or unresponsive behavior of our website when making additions or changes. Sometimes there is a delay on the public-facing website when edits have been made. Just give it some time - up to a half hour.  (Is this caused by CloudFlare? Investigate further.)

 

The Long Term Strategy

Drupal 8 is now in production and offers significant advantages over Drupal 7. We should consider migrating sooner than later with the rationale that the longer we wait the more content there is to migrate. But, this will be a time consuming process so pick a not-so-busy time. Don't be thinking you're going to migrate during conference planning season. Deciding not to migrate is okay too because long-term support will be available for Drupal 7 for years to come. The downside is the esthetics of the site may begin to seem dated.

 

Website Elements

Here you will find a listing of the basic functionality of the Chapter website with basic instructions for each.

Colors

All of the colors (and fonts) used for APA and many for APA-LA are specifically defined by APA. Refer to the 2007 APA Brand Guidelines document for specifics. Basically, here they are:

logo - APA LA logo - APA blue logo - AICP orange
APA-LA Green APA Blue AICP Red

hex: 429639

Red: 66
Green: 150
Blue: 57

Pantone: 363
(uncoated)

hex: 165788

Red: 22
Green: 87
Blue: 136

Pantone: 647
(uncoated)

hex: D93B20

Red: 217
Green: 59
Blue: 32

Pantone: 180
(uncoated)

Below is a swatch of our Louisiana Chapter's green with color values.

swatch - APA-LA green

Within the website, a family of complimentary colors has been implemented, determined by using a color tool. Mostly I've used the reds as accents, and also tints of the APA-LA green. These are not APA standards, but are also not prohibited as they only occur within our digital media.

APA-LA green and complimentary colors

Fonts

In print, the official primary font is Myriad Pro. You may use Light, Light Italic, Regular, Italic, Bold, and Bold Italic. Do not use the "Myriad Pro Black", condensed, or otherwise styled versions of this typeface. There is allowance and justification for relaxing these standards in online media including chapter websites and emails. We use simple, standard fonts such as Arial which are broadly available and legible on the greatest variety of screens and devices. On the website, we've tried to use PT Sans as a substitute for Myriad Pro. PT Sans is available as a free webfont from Google, unlike Myriad Pro which requires licensure from Adobe.

 

Below are specific instructions for making content additions and edits.

Posting Jobs

  1. Convert the job description advertisement into a PDF. Save it to Dropbox:
    \APA-LA\louisianaplanning.com\_new_content\jobs
    Filename should be brief but should include City or Agency name. Prefer use of underscores or dashes (“_” or “-“) instead of spaces in PDF filename.
  2. Login to louisianaplanning.com\site\user or visit the homepage and click the "login" link in the footer.
  3. Upload the job advertisement in PDF format to the Filedepot “Jobs” folder. Copy the download link to clipboard.
  4. Navigate to the “Work” page and enter editing mode.
  5. Add a new line at top of jobs list for most recent entry. Type a job title and location, mimicking format of previous entries.
  6. Select job title, click the link button, and paste the URL from clipboard memory (copied from the Filedepot item.) Set the link target to “new window”.
  7. Save Work page.  You're done.

Blog Articles

Blog articles are news stories which begin on the site's home page (3 most recent) and then get cataloged in an archive viewable both by month and also by using a graphic timeline. Keyword “tags” may be assigned to each article and this can be used to broadly search all articles by topic.

Slider Images

The homepage image slider is handled by a Drupal module called Nivo slider. It ain’t the most user-friendly back-end to use.

  1. Standard size of slider images is 936 x 250. Prepare in Photoshop.
  2. Add the image by logging into louisianaplanning.com; click Modules, scroll down to “other” and open that tab, find Nivo-slider and click configure.
  3. Upload the new slider image at top of page; click save configuration button. Then re-enter configure dialog and find the blank (nameless) entry in the list – this is what you just uploaded. Click it and add title and description. Consider adding a link to a specific page or blog article within the website. Again, click save configuration button.
  4. Tell Nivo Slider module which page you want it to appear on such as <front> or perhaps a specific annual conference page: conference2015.
  5. Again, click save. Make sure the image is set to appear; and consider deactivation an older homepage (<front>) slider image. You should have no more than 4 active at a time.
  6. Check your work by visiting the website homepage. If something is amiss go back to configure the Nivo-Slider module again.

Calendar Items

All calendar items are entered into Google Calendar. Use the webmaster@louisianaplanning.com username for access to the main account. There are also four individual Section calendars and an AICP professional development calendar account. Each Section may be edited independently by the Section Director, and all are automatically displayed through the website calendar page and homepage agenda sidebar with no further effort.

Newsletters

The chapter-wide e-newsletter is created and distributed within MailChimp. Refer to MailChimp specific instructions to create a bulk email campaign. After it is sent, I convert the copy I receive to a PDF, name it “YEAR-MO-DY_Louisiana_Planner.pdf” and upload it to the Newsletters folder within the Chapter’s Google Drive account. (Use the webmaster@louisianaplanning.com account.) This automatically makes it available through the Chapter website on the newsletter archive page. Gotcha: Do not use Mozilla Firefox to upload PDF files to Google Drive. It corrupts the file type information and Drive won't preview the PDF. Use Chrome or IE instead.

FileDepot

FileDepot is a 3rd-party module extending the functionality of Drupal by creating a document management system. It allows users to upload files (preferably PDF, but also Word, Excel, etc.,) to organize them in folders, to add meta-data descriptions, to restrict access, and to make them easily downloadable from the website. There is a link in the footer of the website which takes you to the Filedepot interface. When logged in with editor privileges, additional tools become available including New Folder, New File, and others. A logical folder structure has already been created. Typically, you will only need to add files.

  1. Click on the desired destination folder for your upload. Most often, this is Jobs.
  2. Click the New File button and navigate to the file on your local computer.
  3. Add the display name (the filename isn't shown), descriptive tags such as "job", "Louisiana", "GIS", and deselect the Email Notification checkbox.
  4. Click Upload File button. Done.

To get the download URL:

  1. Click the file name in the Filedepot list. A dialog box pops up.
  2. Right-click on the "Download" menu item and choose "Copy Link Address."
  3. Paste the URL into your destination link.

To speed up this process, I often open two web browser windows side-by-side. One displays the Filedepot interface, the second displays the jobs list on the APA LA Work page - or whatever web page I want to link the file to. This allows me to quickly move back and forth, copying and pasting.

How to link to a Filedepot folder

./filedepot/folder/  + number of folder id (see roll-over when you hold your mouse on the folder)
Issue: This WILL NOT reveal subfolders, only files in the referenced folder.
 
 

Special Website Sections

Conferences, Sections, Awards

I’ve implemented a Drupal Core module called “Books” to create subsections within the website framework. For example, “Conferences” is a book and each year I add a new “chapter” for 2015, 2016, 2017…

Similarly, Sections is a book having four chapters: Acadiana, Capital, Metro New Orleans and North Louisiana. The purpose of using this feature is that each chapter can have numerous pages of related content, yet all be organized within the chapter – and the chapters collected within the book. Links, breadcrumbs and all of that are handled automatically.

Awards has been targeted for similar treatment. Presently, this topic area is too simple and somewhat disorganized. There is confusion about whether annual awards should be associated with a conference, or grouped within an awards section. This deserves further study and resolution.

 

Website Template Layout & Stylesheets

The CorporateClean Drupal template offers numerous styles and layout options. But, many of these must be "hard coded" using simple HTML syntax. To make use of this, simply click the "Source" button on the WYSIWYG editor to enter HTML editing mode. Below are links to example pages and features you may replicate in the website.

CorporateClean

Corporate Clean is a website template for Drupal 7 created by More Than (Just) Themes and offered free. It is a responsive theme, meaning that content on each page rearranges or resizes itself to fit various screen sizes including smartphones. The following templates illustrate its capabilities:

  • Typography - block quotes, headers and subheads, warning message boxes, etc.
  • Editing tips - HTML coding tips for special styles, formats or options.
  • About page - 1 and 3 columns on same page, contact cards, quote box.
  • Products page - 3 columns, multi-rows with images for each
  • Services page - 2-columns, multi-rows with offset icon images.

Theme color palette can be adjusted in Appearance Settings. Changing color HEX values makes the changes globaly throughout the site. I recommend printing a copy of the page and values before you go changing things.

 

Notes for Coding Corporate Clean

Here are somewhat arcane instructions to customize CorporateClean's hard coded slider...

Template Instructions: https://www.drupal.org/project/corporateclean

http://mtt.desk.com/

Because it is so obtuse, I don't use the theme's slider and instead installed the Nivo-Slider module.

 

Image Gallery

A module called Brilliant Gallery is used to display galleries of image thumbnails in a variety of album styles. Images are uploaded by FTP to a specific folder on the host. The image gallery is then “hard coded” into the desired web page using a simple single line of HTML syntax.

You can override many of the default settings using the full tag:

    "open bracket" bg|path/to/your/gallery/folder/without/wrapping/slashes|columns|width-max-pixels|sort-or-random|max-pic-number-to-show|color-override|begin-from-num|caption-yes-no-text "close bracket"

    Use FTP to store images here, inside a subfolder: /site/sites/default/files/albums/
    So the filepath in your bg| code then begins with the name of the subfolder. To see a listing of existing image galleries use the Drupal menu to visit Configuration > Brilliant gallery > Manage galleries

    There is also a module enabling the inclusion of a Google+ photo gallery or stream. I haven't used it.

     

    Social Media Accounts

    Facebook – Presently managed by Steve Villavaso. Could be taken over by an “Assistant PIO” and linked to our Hootsuite account for automated posting.

    Twitter – Managed by James Taylor and linked to our Hootsuite account for automated posting.

    YouTube Channel – opportunity to post videos from conference presentations, etc. Presently, our Chapter website links to the national APA YouTube channel.

    LinkedIn – James recently gained control of this account and linked it to our Hootsuite account.

    Hootsuite – a social media aggregator service. Adding a blog post to our website sends a message via RSS feed to Hootsuite which then deploys it through Twitter, LinkedIn, Google+ (unused) and – once we link it – Facebook. This is a huge time saver

    MailChimp – our bulk email service. Free account level. Offers the possibility of linking directly with Twitter (and Facebook?) but the resulting tweets are extremely short and not interesting. Needs more investigation to improve social media connections.

     

    Website (Drupal CMS) Maintenance

    All software requires periodic updates to take advantage of security patches and feature enhancements. Drupal and all of its 3rd party modules is no exception. Drupal has been manually installed on this GoDaddy hosting account. The Installatron application within GoDaddy's cPanel interface was NOT used, and it is not recommended for applying updates to Drupal Core because it could break the website. Regardless, Installatron will not update modules. See instructions below for that.

    Check for required updates

    1. Login to the website CMS
    2. Choose Status Report from the Reports menu. This will list the status of Drupal and all of the installed modules. 
    3. Many modules can be updated from within the CMS, but the process requires you to put the site into maintenance mode before running database updates.
    4. Significant updates to Drupal Core must be done manually using an FTP client or perhaps using GoDaddy's cPanel Installatron interface. Leave these for the site administrator.
    5. Be aware that occasionally innocently updating a module can cause a conflict or error and "break" the website. Backups should be made before installing major updates.