George Mason University Antonin Scalia Law School

How to Disable Plugins Outside MODX Manager

Since we are using CAS Authentication plugin to add an extra security layer to our MODX Manager, we need a way to disable the plugin in case something goes wrong and we don’t want to get locked out of our own site. Here are the steps to disable plugins outside the Manager:

  1. Log into the cloud dashboard and temporarily add phpMyAdmin to the cloud
  2. Log into phpMyAdmin, browse the modx_site_plugins table for the CAS plugin, double-click on the disable column to change the value from 0 to 1 to disable the plugin
  3. Manually clear the cache by logging into sFTP and delete everything in the core/cache directory
  4. Log back into the cloud dashboard to turn off phpMyAdmin

Creating a Spreadsheet for Full-time Faculty

A request to pull the following information from the full-time faculty directory:

  • Last Name
  • First Name
  • Title
  • Degrees and Schools
  • SSRN link
  • Subjects taught
  • Area(s) of Expertise
  • CV (PDF link if they have one posted)
  • Email
  • Bio (link to profile page)

Create a chunk (ditto.faculty_list_2021_ABA) using tr and td tags:

<tr>
<td>[[+lname]]</td>
<td>[[+pref_name:default=`[[+fname]]`]]</td>
<td>[[+title_main]]</td>
<td>[[+degree6:isnot=``:then=`[[+degree6:ReplaceDegrees]]`]][[+alma_mater6:isnot=``:then=`, [[+alma_mater6]]; `]][[+degree5:isnot=``:then=`[[+degree5:ReplaceDegrees]]`]][[+alma_mater5:isnot=``:then=`, [[+alma_mater5]]; `]][[+degree4:isnot=``:then=`[[+degree4:ReplaceDegrees]]`]][[+alma_mater4:isnot=``:then=`, [[+alma_mater4]]; `]][[+degree3:isnot=``:then=`[[+degree3:ReplaceDegrees]]`]][[+alma_mater3:isnot=``:then=`, [[+alma_mater3]]; `]][[+degree2:isnot=``:then=`[[+degree2:ReplaceDegrees]]`]][[+alma_mater2:isnot=``:then=`, [[+alma_mater2]]; `]][[+degree1:ReplaceDegrees]][[+alma_mater1:isnot=``:then=`, [[+alma_mater1]]`]]</td>
<td>[[+ssrn:isnot=``:then=`https://ssrn.com/author=[[+ssrn]]`]]</td>
<td>[[+faculty_subject_category:convert_ids_to_pagetitles_1]]</td>
<td>[[+expertise:convert_output_list_1]]</td>
<td>[[+cv_pdf:isnot=``:then=`https://www.law.gmu.edu/[[+cv_pdf]]`]]</td>
<td>[[+email]]</td>
<td>https://www.law.gmu.edu/faculty/directory/fulltime/[[+alias]]</td>
</tr>

The square brackets ([[+lname]]) correspond with the form field inside MODX. To see how the fields were created, take a look at the 2015_faculty_profile chunk.

After creating the ditto.faculty_list_2021_ABA chunk, put it inside the script below:

<table>
[[getResources? &showHidden=`1` &includeTVs=`1` &tvPrefix=`` &limit=`0` &sortbyTV=`lname` &sortdirTV=`ASC` &parents=`5842` &depth=`1` &tpl=`ditto.faculty_list_2021_ABA` &sortBy=`lname` &sortDir=`ASC` &display=`all` &filter=`hide_all,1,2`]]
</table>

Past the script above on any page inside MODX to populate the table. The tag &parents=`5842` refers to the ID number of the full-time faculty directory.

Adding a New Gravity Form in WordPress

Steps for adding a new Gravity Form in WordPress:

  1. In WordPress nav bar, choose Forms (with Gravity Forms logo), then choose New Form
  2. Add Fields and update Field Settings (e.g., make a field required). Save Form and Preview it (top right)
  3. At the top of the Form Editor are Settings and Entries. Completed form submissions are located in Entries. In Settings are Form Settings, Confirmations, and Notifications:
    • Form Settings may be adjusted as needed
    • Confirmations are what the user sees after submitting the form. Defaults to Text and may be updated to Text, Page, or Redirect (use Redirect to send user to an external page after submitting the form). Conditional logic is also possible
    • Notifications are sent to admin by default when a form has been submitted (this includes tests in Preview). In Admin Notification, update ‘Send to Email’ field to update email address that will receive a notification when a form is submitted. Update other fields if needed. If needed, Configure Routing to send notifications conditionally based on form Field responses (be sure to update the ‘Any/All’ dropdown to reflect the desired logic)
  4. Create a Page for the form by clicking Pages, then Add New in left nav bar
  5. In the new page, add a title, which will autogenerate a permalink (editable)
  6. In the new page, add a shortcode to the Paragraph section to display the Gravity Form on the page. Copy shortcode from an existing page, replacing “ID” with the ID of the new Gravity Form (found in Forms area; see #1 above)
  7. Preview, then Publish page when ready. Share form via permalink (see #5 above)

Instructions for Restoring Course Schedules in MODX

  1. Duplicate the entire course schedule directory. For example: 2016 Course Schedule and rename it to 2015 Course Schedule.
  2. Open up the directory you just copied, select Duplicate of 2016 Fall. Rename Title and Long Title to 2015 Fall. Rename Source Alias to 2015_fall.
  3. Open up the static HTML page.
  4. Search ../../.. and replace with nothing (blank).
  5. Search for .html and replace with nothing (blank).
  6. Search for ../../courses/ and replace with /academics/courses/
  7. Search <img class="icon" src="assets/images/icons/pdf.png" alt="PDF file" width="16" height="16" /> and replace with nothing (blank).
  8. Search <br /><img src="/assets/images/icons/weather_sun.png" alt="" width="16" height="16" /> and replace with nothing (blank).
  9. Search <br /><img src="/assets/images/icons/moon.png" alt="" width="16" height="16" /> and replace with nothing (blank).
  10. Replace <img src="/assets/images/icons/pencil.png" alt="" width="16" height="16" /> and replace with nothing (blank).
  11. Copy the page starting from the list (ul) all the way down to the end of the table (<!-- END HERE-->).
  12. Add this class <div class="table-wrap"> before the opening table element and </div> after the closing table element to make the page responsive.

For anchor links on pages prior to modx, replace:
2000fall.html#
with:
[[~[[*id]]]]#

Add this to the top:

<ul>
<li><a href="[[~[[*id]]]]#schedule">Schedule</a></li>
<li><a href="[[~[[*id]]]]#assignments">Assignments</a></li>
<li><a href="[[~2481]]">Archives</a></li>
</ul>

Remove the following entirely:

<img src="https://www.law.gmu.edu/images/new.gif" alt="" width="25" height="12" border="0">

<img src="assets/images/icons/pdf.gif" alt="PDF Document" width="16" height="16" />

<span style="font-family: Arial,Helvetica,sans-serif;">

<span>

</span>

_2012summer001.html

Replace:

../../courses/

with

/academics/courses/

How to Connect Google Sheets to Contact Forms

After creating your form, click on the Google Sheets tab:

 

 

 

On your Google Drive account, create a new Google Sheet. Save it as something memorable.

You will need to grab the name of the sheet, the Google Sheet ID (directly from the URL of the sheet), and the Tab name (default is Sheet1).

Paste it in the fields below:

 

 

 

 

Once you have that, map the column names to the form field names you’ve chosen for your form. Pay close attention to the order of the field names. As you go down the form grabbing names, you need to paste them into the first row, moving from column to column, left to right.

Examples of the fieldnames below:

 

 

 

 

 

Test your form first to make sure the data is being pulled into your Google Sheet before releasing the form.

Creating “In the News” Content

“In the News” content can be found under Resource ID 11086 and should be contained within the year of posting.

The simplest way to create an “In the News” item is to duplicate an existing resource from an existing faculty. Once you make a duplication, uncheck the published radio button to prevent the resource from showing up in the public

In fields 1 and 2, enter the headline of the content. For consistency, do not preface the name with “Professor”.

In field 3, enter a readable url that matches with the title of the content.

On the Template Variables tab, scroll down to “URL for in the News”. Enter the link to the article, and be sure to include the Source in the “Source for in the News” field below:

MODx comments

MODx comments will not appear when viewing the source code of a page. This is especially useful when trying to keep old banners on the homepage while having it out of sight.

To use MODx comments, use the following syntax:

[[- ]]

Kiosk Database List

The Kiosk page is handled by a MODx Ditto. Each entry can be found within the “Find Books, Articles, and Databases” bucket inside the MODx Tree.

To edit the description of an individual entry, navigate to the Template Variables tab, click on “Library” and edit the Description field. Make sure not to include any HTML code inside this field.

Course Schedule Conversion for MODX

This tutorial walks through the steps to convert course schedule from Excel file into MODX.

  1. Open up the original Excel file (provided by Deborah), merge multiple faculty into one row, then delete all the empty rows.
  2. Open up the Course Schedule Sample Excel file
  3. Copy and paste each column such as Course Title, Credit, and Course Number into the sample Excel file. Do it for both Day and Evening courses.
  4. Once everything is in place, copy all (except for row 1) from the Excel file to an HTML editor:

    <div class="table-wrap">
    <table id="course-schedule" class="sortable" border="1" cellspacing="0">
    <tbody>
    <tr>
    <th>Sched.</th>
    <th>Course Name</th>
    <th>Num. (Sec.) CRN</th>
    <th>Instructor(s)</th>
    <th class="unsortable">Days, Time</th>
    <th>Final Exam</th>
    <th class="unsortable">Syllabus</th>
    </tr>
    <!--SCHEDULE STARTS HERE-->
    <!--Paste the table from Excel into here-->
    <!--SCHEDULE ENDS HERE-->
    </tbody>
    </table>
    </div><!--end table-wrap-->

  5. Save as an HTML file and view it in the browser. Clean up all the extra spaces using Search & Replace. For examples: ( 3 cr) to (3cr) and ( 001 ) to (001)
  6. Next, perform Search & Replace for notes items: //, (W), (E), +, and (N.1) to (N.9)


    <a href="[[~[[*id]]]]#permission" title="With witten permission of instructor only.">//</a>

    <a href="[[~[[*id]]]]#writing" title="This course has been designated as a writing course.">(W)</a>

    <a href="[[~[[*id]]]]#experimental" title="This course has been designated as an experiential course.">(E)</a>

    <a href="[[~[[*id]]]]#prerequisites" title="This course has prerequisites.">+</a>

    <a href="[[~[[*id]]]]#n1" title="See Note 1">(N.1)</a>

    Note that (N.1) to (N.9) are different for Day than Evening. For Evening change the anchor ID from #n1 to #n1-eve.

  7. Copy and paste notes from the original Excel file to the bottom of the HTML page. Reformat the notes to include all the anchor links.
  8. Once everything looks good, paste into MODX

    Change text case

    This step is not required, but here’s are tips for change the case of text in Excel.

Setting up an RSS Feed Parser in MODX

MODX uses an add-on called getFeed to parse RSS content.

In order to use it, place this code on your page template (example uses the Faculty News Feed):


[[!getFeed?
&url=`https://sls.gmu.edu/faculty-news/feed/`
&tpl=`RSSFeedParser`
&limit=`1`
]]

The code pulls the RSSFeedParser, a custom chunk we made that pulls the most recent article title and link.

Titles are pulled using:

[[+title]]

Links are pulled using:

[[+link]]

Here is a list of other data fields that may be pulled from the RSS Feed, if available:

  • title – The title of the post.
  • link – A direct link to the post.
  • description – The description of the post.
  • pubdate – The date the post was published.
  • guid – The GUID of the post.
  • author – The name of the author of the post.
  • category – Any tags or category associations the post has.
  • summary – A short summary of the post.
  • date_timestamp – The timestamp of the post.

Like most MODx variables, wrap the data fields with double square brackets, but be sure to use the + sign prefix rather than the * symbol.