Documentation
Videos
Modules
Stats
back to home
Skimmer Module
Purpose
This module allows users to "skim" over site content from various categories all in one location.
Description
The Skimmer controller has three views (Scanner, Mobile, Print). The views present the user with site content from various sections of the website.
The skimmer content is configurable by the site manager. Here's a brief overview of each Skimmer view.
- Scanner: This view displays various site content "at a glance". The individual items show "snippets" of the articles content.
- Print: This view allows you to view a section, or the whole Skimmer/Scanner page in a printable format. Each article will show complete article content.
- Mobile: This view is for mobile devices. The content is the same as "Scanner", but it's configured for mobile and not presented in the "box" format.
A video walkthrough
Skimmer (Overview Video)
Skimmer (SQL Statement Training Video)
Some examples on live sites
Fields and related tables
Table Skimmer Sections is for setting up the content that will be displayed in the Skimmer/Scanner view. Below is additional information about the table and fields.
- SKIMMER SECTIONS (oSkimmer_Sections)
- Section Title - The title of the Skimmer section (example: "News")
- Display Order - The order in which the Section will (initially) be displayed.
- Section SQL - This is the code which retrieves the content from your database. For examples and "how to's" see the SQL Examples & Explaination section.
- Section Link - This is the link that the user will to go when they click "read more" (example: "/news" to go to the News controller)
- Turn This Off - When this is selected, this section will not be displayed in the Skimmer.
SQL Examples & Explanation
When creating SQL statements for the Section SQL field, the following case sensitive field names are required in order for the Skimmer to work properly.
- ID - This is typically the ID of the record from the Object table.
- Title - This is the Title of the content to be displayed
- Lead - This is the Lead (brief description of the content)
- Body - This is the full Body of the content item.
- PudDate - This is the Date that will be shown
- Link - This is the actual Link that the user can navigate to if they wish to read the full article on the website.
- Contributer - This is an OPTIONAL field that can be used to display the name of a person who wrote an article. A blog, for example.
- Img - If you are using the mobile website, this OPTIONAL field is used to display a 75px x 75px image.
Important tips: Not all Objects have all of these fields. For example, Appointments do not have a Photo field, so you can just return "Null" for that field. This type of situation may hold true for several objects. Often times, there is no "Lead" field available.
The "where" clause is often the most difficult to figure out due to various rules for displaying records from an object. You will have to be familiar with your business "rules" when determining what criteria should be used in selecting records for display.
The SQL Example statements below take advantage of formatting Dates for sort and display purposes (format 112 is YYYYMMDD). Doing this helps select the most recent dates. Also, format 101 returns MM/DD/YYYY, which is helpful to format the PubDate field for web display.
Below you will find SQL statements for some of the content objects that could be used in the skimmer. You can customize them to you liking in terms of actual field names and number (TOP ("x")) returned for each. Please keep in mind that these statements were modeled from the Detroit Conference objects and that you may have field names that are different for your objects. In which case, the SQL statement will not not function properly if they are not changes accordingly.
News SQL
SELECT TOP (6) oNews_PJAYMY_ID AS ID, Title_3MVK9K AS Title, NULL AS Lead, Body_RHGVV3 AS Body,
CONVERT(Varchar, Written_Date_TTBYTJ, 101) AS PubDate,
'/news/detail/' + CONVERT(varchar, oNews_PJAYMY_ID) AS Link
FROM oNews_PJAYMY
WHERE (ISNULL(Archive_YKBQPH, 0) <> 1) AND (Display_From_2NB3QR <= GETDATE() OR
Display_From_2NB3QR IS NULL) AND (Display_To_2AC2RP >= GETDATE() OR
Display_To_2AC2RP IS NULL)
ORDER BY CONVERT(Varchar, Written_Date_TTBYTJ, 112) DESC, Title
Events SQL
SELECT TOP (6) oEvent_Calendar_EUXQLB_ID AS ID, Event_Name_TNK2AA AS Title, NULL AS Lead, Description_SZRFSC AS Body,
CONVERT(varchar, Event_Start_Date_UQFBA5, 101) AS PubDate,
'/events/detail/' + CONVERT(varchar, oEvent_Calendar_EUXQLB_ID) AS Link
FROM oEvent_Calendar_EUXQLB
WHERE (ISNULL(Archive_NZRNXF, 0) <> 1) AND (Display_Start_Date_NCMHFH <= GETDATE() OR
Display_Start_Date_NCMHFH IS NULL) AND (Display_End_Date_68UHT6 >= GETDATE() OR
Display_End_Date_68UHT6 IS NULL) AND (Event_Start_Date_UQFBA5 >= GETDATE())
ORDER BY CONVERT(varchar, Event_Start_Date_UQFBA5, 112), Title
Blogs SQL
SELECT TOP (6) oWeblog_Entries_ID AS ID, Title, Summary AS Lead, Body, CONVERT(Varchar, Date_Written, 101) AS PubDate,
'/blogs/detail/' + CONVERT(varchar, oWeblog_Entries_ID) AS Link,
oWeblog_Contributors.First_Name + ' ' + oWeblog_Contributors.Last_Name AS Contributer
FROM oWeblog_Entries INNER JOIN
oWeblog_Contributors ON oWeblog_Entries.Contributor = oWeblog_Contributors.oWeblog_Contributors_ID
WHERE (ISNULL(oWeblog_Entries.Turn_this_off, 0) <> 1)
ORDER BY CONVERT(Varchar, oWeblog_Entries.Date_Written, 112) DESC, oWeblog_Entries.Title
Classifieds SQL
SELECT TOP (6) oClassifieds_JFJX7N_ID AS ID, ISNULL(Item_5AGXRV, '0') AS Title, NULL AS Lead,
Description_YN3FRV AS Body, CONVERT(varchar, Date_Posted_87TCBF, 101) AS PubDate,
'/classifieds/detail/' + CONVERT(varchar, oClassifieds_JFJX7N_ID) AS Link
FROM oClassifieds_JFJX7N
WHERE (ISNULL(Make_Inactive_ZLRND7, 0) <> 1) AND (Display_To >= GETDATE() OR
Display_To IS NULL) AND (ISNULL(Item_5AGXRV, '0') <> '0')
ORDER BY CONVERT(varchar, Date_Posted_87TCBF, 112) DESC, Title
Obituaries SQL
SELECT TOP (6) oObituaries_DQWWHY_ID AS ID, Name_DZYQYQ AS Title, NULL AS Lead, Story_GY46RQ AS Body,
CONVERT(Varchar, Date_2ZBZLH, 101) AS PubDate,
'/obituaries/detail/' + CONVERT(varchar, oObituaries_DQWWHY_ID) AS Link
FROM oObituaries_DQWWHY
WHERE (ISNULL(Make_Invisible, 0) <> 1)
ORDER BY CONVERT(Varchar, Date_2ZBZLH, 112) DESC, Title
Appointments SQL
SELECT TOP (6) oAppointment_Changes_7W6JTU_ID AS ID, Name_WXR4GC AS Title,
'FROM ' + From_NV6MRM + ' TO ' + To_GKIQT6 AS Lead,
'FROM ' + From_NV6MRM + ' TO ' + To_GKIQT6 AS Body,
CONVERT(varchar, Date_Announced_5F8L2B, 101) AS PubDate,
'/appointments/detail/' + CONVERT(varchar, oAppointment_Changes_7W6JTU_ID) AS Link
FROM oAppointment_Changes_7W6JTU
WHERE (CONVERT(varchar, Date_Announced_5F8L2B, 112) <= GETDATE())
ORDER BY CONVERT(varchar, Date_Announced_5F8L2B, 112) DESC, Title
eNewsletter SQL
SELECT TOP (6) oNewsletter_Archive_HP9B4E_ID AS ID, Newsletter_Subject_XCMSLI AS Title, NULL AS Lead,
Main_Article_XZHJLQ AS Body, CONVERT(Varchar, Publication_Date_NCYXCJ, 101) AS PubDate,
'/enewsletterarchives/detail/' + CONVERT(varchar, oNewsletter_Archive_HP9B4E_ID) AS Link
FROM oNewsletter_Archive_HP9B4E
WHERE (CONVERT(Varchar, Publication_Date_NCYXCJ, 112) <= GETDATE()) AND (ISNULL(Inactive_J8APUF, 0) <> 1) AND
(Expiration_Date_VTDX8H IS NULL OR Expiration_Date_VTDX8H >= GETDATE()) AND (Main_Article_XZHJLQ IS NOT NULL AND Main_Article_XZHJLQ NOT LIKE '')
ORDER BY CONVERT(Varchar, Publication_Date_NCYXCJ, 112) DESC, Title