Git Product home page Git Product logo

candela's Introduction

Candela (DEPRECATED)

Candela is a book authoring platform built on top of Wordpress Multisite and Pressbooks. This project is no longer maintained and may not function as expected; however, the plugins this project uses are still used and maintained, and can be found below:

Candela Utility: Candela helper plugin to manage additional config and bootstrapping Candela Citation: A plugin that extends creative commons attribution functionality to Candela/Pressbooks Candela Thin Exports: A simple plugin to export Pressbooks books as thin cartridges with deep links to each page Candela LTI: A plugin that implements the LTI/Wordpress integration Candela Outcomes: A plugin that adds an Outcomes meta field for coursework Bombadil Theme: A Wordpress Theme based on the Pressbooks Luther Theme

Install Wordpress

The following instructions assume basic familiarity with installing Wordpress, and that this codebase is located in a web accessible location.

  1. Navigate to your installed base.
  2. Click "Create a Configuration File"
  3. Click "Let's go!"
  4. DB Connection details;
  • Database Name: ******
  • User Name: ******
  • Password: ******
  • Database Host: localhost
  • Table Prefix: wp_
  1. Click "Run the install"
  2. Welcome
  • Site Title: Candela
  • Username: ******
  • Password: ******
  • Email: ******
  1. Edit wp-config.php and add the following just above the line /* That's all, stop editing! Happy blogging. */ ;
    /* Multisite */
    define( 'WP_ALLOW_MULTISITE', true );

    /* Pressbooks configuration */
    define( 'PB_PRINCE_COMMAND', '/usr/bin/prince' );
    define( 'PB_KINDLEGEN_COMMAND', '/home/vagrant/kindlegen/kindlegen' );
    define( 'PB_EPUBCHECK_COMMAND', '/usr/bin/java -jar /home/vagrant/epubcheck-3.0.1/epubcheck-3.0.1.jar' );
    define( 'PB_XMLLINT_COMMAND', '/usr/bin/xmllint' );
  1. Click "Log in"
  2. Login with details just created.
  3. Tools -> Network Setup
  4. Choose 'sub-directories'
  5. Click "Install"
  6. Follow on screen instructions making appropriate edits to wp-config.php and .htaccess

Enable and Configure Pressbooks and Pressbooks Textbooks

  1. Once above edits are made relogin
  2. Navigate to "My Sites" -> "Network Admin" -> "Plugins"
  3. "Network Activate" Pressbooks
  4. "Network Activate" Disable Comments
  5. "Network Activate" Candela Analytics
  6. "Network Activate" Candela Citations
  7. "Network Activate" Candela Links
  8. "Network Activate" Candela Utility
  9. Use the "Settings" link for Disable Comments to access the settings page. Select "Everywhere: Disable all comment-related controls and settings in WordPress." Click the "Save Changes" button.
  10. Navigate to "My Catalog" -> "Network Admin" -> "Themes"
  11. Select "Installed Themes"
  12. "Network Enable" the "Candela" theme
  13. Navigate to "My Catalog" -> "Network Admin" -> "Dashboard"
  14. Select "Settings" -> "Network Settings"
  15. In the "Allow new registrations" section, select: "Logged in users may register new sites." This allows members with adequate privileges to create their own books
  • the other options on this page should be set/adjusted to suit administrative needs/preference
  1. Navigate to "My Catalog" -> "Add a New Book"
  2. Get writing!

Hypothes.is

The hypothes.is functionality is included as part of Pressbooks Textbooks and needs to be enabled on a book by book basis. To enable annotation in your books:

  1. Navigate to "PB Textbook" admin section in the book where you want to enable Hypothes.is;
  2. Click the "Other" tab;
  3. Select "Yes. I would like to add annotation functionality to my book pages."
  4. Click the "Save Changes" button.

Enable and configure LTI and candela LTI

  1. Navigate to "My Catalog" -> "PRIMARY SITE NAME" -> "Dashboard"
  2. Click "Plugins"
  3. "Activate" LTI
  4. Navigate to "My Sites" -> "Network Admin" -> "Plugins"
  5. "Network Activate" Candela LTI
  6. In the left admin menu (primary site only), navigate to "LTI Consumers" -> "Add New."

candela's People

Contributors

billfitzgerald avatar bracken avatar changemachine avatar drlippman avatar jgraham909 avatar kalendar avatar kdv24 avatar kittysnacks avatar monkecheese avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

candela's Issues

Allow uppercase input in GUID metafields.

We're lower-casing all input in PHP, but preemptively rejecting uppercase client-side with the html validation. Need to allow uppercase letters on the HTML side to make it more user-friendly.

Bombadil book info doesn't render

Example: text under copyright or description fields under book info doesn't render (maybe uses White as color?) in Bombadil theme.
lumen_user_guide___simple_book_production_and_vccs_oer_courses_-google_sheets_and_search_results-nate_lumenlearning_com-_lumen_mail

PDF Export: Images not sized/aligned as in theme

This is the 2nd most serious issue currently with PDF exports.

When images are exported in PDF form, they seem to align as in web views, but text does not wrap around them and they may not be sized as in web views.

For example: on this page, the Goal Setting chalkboard image looks good in the web view:
https://courses.candelalearning.com/collegesuccess2x30master/chapter/setting-and-reaching-goals/
setting_and_reaching_goals___college_orientation_and_success_strategies

But has no text wrapping and may be larger in the PDF export:
cos133_20150701a_pdf__page_35_of_217_

Error in class-pb-wxr.php

In class-pb-wxr.php, I think there was a merge error or something. At line 101, your code has

if ( 'part' == $post_type ) {
  $chapter_parent = $pid;
}

$pid = wp_insert_post( $new_post );

While the code from pressbooks has

$pid = wp_insert_post( $new_post );

if ( 'part' == $post_type ) {
  $chapter_parent = $pid;
}

The $pid needs to get defined before it's assigned to $chapter_parent

EDIT button not visible in IE in some (all?) themes

Not sure on the IE version, but witnessed that EDIT button does not appear in either Candela or Washington themes when using IE and LTI via Blackboard. Same user, same course can see EDIT button using FF or Chrome.

Maybe we should start doing at least a spot check on IE to make sure at least basic elements are in place.

Oauth library is missing

Directions for adding the Oauth library aren't included in Readme.md, and this causes the creation of new LTI Consumers to fail.

lti-oauth-fail

Candela theme: table display too wide

A plain vanilla table like below renders full-width with a full-width border. If a table doesn't need to be full-width, it shouldn't be.

The border issue seems to have to do with the display: block; in the following style:

media="screen, print"
table {
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%;
  overflow-x: auto;
  display: block;
}
<table cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>Arch</td>
<td>Pen</td>
</tr>
<tr>
<td>Chowder</td>
<td>Maple</td>
</tr>
<tr>
<td>Airplane</td>
<td>Window</td>
</tr>
<tr>
<td>Kirk</td>
<td>Scotty</td>
</tr>
<tr>
<td>Paper clip</td>
<td>Thumb drive</td>
</tr>
<tr>
<td>Column</td>
<td>Brownies</td>
</tr>
<tr>
<td>Oak</td>
<td>Door</td>
</tr>
<tr>
<td>Subway</td>
<td>Skateboard</td>
</tr>
<tr>
<td>Leia</td>
<td>Cedar</td>
</tr>
<tr>
<td>Fries</td>
<td>Luke</td>
</tr>
</tbody>
</table>

remembering_course_materials___college_orientation_and_success_strategies
remembering_course_materials___college_orientation_and_success_strategies

Hypothesis plugin is missing

In the section of Readme.md titled "Enable and Configure Pressbooks and Pressbooks Textbooks," step 9 directs users to Network Activate the Hypothesis plugin. But the plugin isn't there. Is this an artifact of moving from the standalone plugin to functionality provided by Pressbooks Textbook?

enable attributions to export/import via WXR

Currently, Lumen uses an export/import process to bring selections from one Candela course into another. The process works great, but we've recently discovered (been reminded?) that the crucial attributions metadata on each page does not travel with these exports.

The only known workaround is to use export/import to move Candela parts/pages, then manually copy every attribution on every page. Unsurprisingly, this is a very labor-intensive workaround and a number of our highest enrollment and most popular courses (eg, all the English comp courses, college success), require a lot of this type of remixing to tailor them for specific faculty/institutions.

We are also not clear on the differences between WP and PB WXR exports and whether one or the other should be preferred.

hide/disable "admin" access for LTI users w/Candela Subscriber role

We were not planning to give Candela Subscribers privileges to access and edit any administrative areas of Candela, including their own user profiles, but such users can navigate to admin access if they click on the page title of any LTI Candela page:
module_1

to navigate to the public TOC, where they will see an ADMIN button that gives them access to view the admin TOC view, course user list, and the ability to view and modify their own Candela user profile:
module_1

It may be easier to just hide that TOC ADMIN button for all users, as Editors and more privileged roles that require Candela admin access have an additional admin navigation control in the Home | TOC toolbar.

PDF Export: No Chapter or page titles in footers

PDF exports currently only have Course titles in footers, which doesn't give sufficient context.

Ideally we'd have both Chapter (aka Part) and Page titles available for use on pages, so depending on design, the elements available for the following page would be:

  1. College Orientation and Success Strategies = Course title
  2. Chapter 2 Who am I and What are My Goals? = Chapter/Part title)
  3. Setting and Reaching Goals = Page title)

https://courses.candelalearning.com/collegesuccess2x30master/chapter/setting-and-reaching-goals/

But in PDF export, only the Course title is currently available in every PDF page of the output
cos133_20150701a_pdf__page_35_of_217_

deliver exports effectively to end users

Currently, the Export view of a Candela course is not available to instructors (who typically have the Editor role) or students (who typically have the Subscriber role), which means any exports from Candela must be generated by Lumen support and then delivered to end users (faculty and students alike) through another means (eg, uploading exports to AWS and linking from there because it is not possible to upload files of typical export size to the Candela media library, which has a 3MB upload limit).

Better would be:

  1. Faculty (Editor role) can view and generate exports.
  2. Students (Subscriber role) can view/download export files.

It's another consideration if we want to give unauthenticated public users access to view/download exports.

reconcile Export access for various Candela roles

Currently, the following Candela roles do not see the Export navigation in its normal place in the Candela admin left side menu, but do see Export navigation in the top toolbar of the Text admin view

Contributor
Author
Editor

Any role that can't see/access the navigation in one place, shouldn't see/access it in another. Lumen may want to change which Candela roles have access to Export (eg, we may decide instructors/Editors should have Export access), but that access should be a consistent privilege.

organize_ introduction_to_business _pressbooks

quotemarks entered in citation/attribution entries erase all

If you enter a new attribution with say a single quote mark in it (and maybe other special characters?) Candela erases all the attributions for that page. That really sucks after you've entered a bunch.

Can we let special characters through?

mobi export doesn't work

Looks like another library missing on the server:
1: /home/vagrant/kindlegen/kindlegen: not found

Candela theme (& others?): All H3s unnecessarily centered

All H3s are now centered, which makes them hard to parse on a regular page. I think what may have happened is that there was a move to center H3s in decorative boxes that was applied to all H3s.

There is this:

media="all"
.bcc-box h3:first-child {
  text-align: center;
  margin: -2% -3% 15px;
  color: #ffffff;
  padding: 15px 0 15px;
}

And this:

media="screen, print"
h3 {
  text-align: center;
  font-size: 1em;
  font-weight: bold;
  font-style: normal;
  font-variant: normal;
  text-transform: none;
  letter-spacing: none;
  word-spacing: none;
  page-break-after: avoid;
  hyphens: none;
  -webkit-hyphens: none;
}

some private Candela pages still launch via LTI

Heretofore expected behavior (although not optimal, see below for optimal) was that an LTI link established in an LMS to a page marked "private" in Candela would not allow user access, currently by redirecting user to Candela home page.

I recently exported an entire Candela course to Bb, and most of the private pages behave as expected, but one actually lets the LTI user navigate to the private page.

The exported course is
https://courses.candelalearning.com/introbusiness2xmasterxdemo/
Example private page that does not allow LTI user access:
https://courses.candelalearning.com/introbusiness2xmasterxdemo/chapter/1-8-cases-and-problems/
Example private page that does allow LTI user access:
https://courses.candelalearning.com/introbusiness2xmasterxdemo/chapter/sample-assignment-congratulations-you-are-the-new-chair-of-the-federal-reserve/

If helpful, I can give anyone that has a Bb Coursesites ID access to a course that demonstrates this behavior.

Optimal behavior:
Private pages can be linked from LTI launches, but will only allow access to LTI users that have a Candela role in that course that would normally allow access to private pages (eg, Editor). This would be a win-win behavior, because it would enable us to distribute private instructor materials via LTI to the LMS. Extra points if the private page links could come into the LMS defaulted to be unavailable to students.

some ThinCC Candela LTI links point to the wrong page URL

example:
https://courses.candelalearning.com/technicalwriting1x33x2/chapter/memos/

while the ThinCC refers to:
https://courses.candelalearning.com/api/lti/596?page_title=chapter%2Fmemos-1

<resource identifier="R_596_1519" type="imsbasiclti_xmlv1p0">
    <cartridge_basiclti_link xmlns="http://www.imsglobal.org/xsd/imslticc_v1p0"
                             xmlns:blti="http://www.imsglobal.org/xsd/imsbasiclti_v1p0"
                             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                             xsi:schemaLocation="http://www.imsglobal.org/xsd/imslticc_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p3/imslticc_v1p3.xsd http://www.imsglobal.org/xsd/imsbasiclti_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0p1.xsd">
        <blti:title>Memos: Writing Commons</blti:title>
        <blti:secure_launch_url>https://courses.candelalearning.com/api/lti/596?page_title=chapter%2Fmemos-1</blti:secure_launch_url>
    </cartridge_basiclti_link>
</resource>

Reorder page edit widgets

The new Edit Navigation Links widget is super-useful, but falls below the fold so one has to scroll to it. We recommend reordering the widgets as per this image:
edit_page_ authoring_guide _pressbooks

configure LTI roles per Candela course

On further reflection, I realize we can't just simply give a Candela editor role to every user an LMS sends with an instructor role as some of our customers don't want every LMS instructor editing their master Candela courses.

Especially given that it's possible for an LMS user to connect to ANY Candela course they can guess the BLOGID for.

So far, I'm imagining that the easiest path to handle this might be to make Candela-LMS LTI role mapping configurable on the Candela side on a per course basis.

Another option I can think of is that all LTI users continue to be given the lowest Candela role (ie, subscriber), but that we provide a mechanism where a specific LTI user can request greater privileges (in such a way that we know which LTI user is making the request) and then Lumen support grants new privileges on a case by case basis.

There may be other solutions.

support thin cartridge for Sakai

current export from staging brings in only parts (not pages) in customer Sakai implementation (Cerritos) using Lesson Builder Sakai tool

talonnet___lumen_candela_demo___module_2__what_is_economics_and_new_issue_ _lumenlearning_candela

Count Enrollments per Academic Term

Currently, we are relying on counting the number of LTI users in a subscriber role in a given Candela course in order to determine the number of enrollments in that course. That works great for the first term of that course's use, but Candela courses will get used over multiple terms, with multiple new LTI users, and so to do counts ongoing, we'll need to be able to count LTI users who access in a certain timeframe.

Probably most useful would be the ability to set start/end date filters that enable us to see accessing users over flexible time periods (given that customers have a wide variety of terms).

accent marks in Candela page/part titles make ThinCCs fail (at least in Blackboard)

Importing a course that has accent marks in a page title (eg, Résumé) generates an error in Bb:

An error has occurred. The error recorded is:
The provided file could not be identified as a supported package format and therefore can not be processed.
For more information, see the detailed log.

The resulting ThinCC has XML in it like:

<item identifier="I_865_116" identifierref="R_865_116">
         <title>R&eacute;sum&eacute;</title>
</item>

Workaround: don’t put accent marks in page/part titles (eg, use Resume, not Résumé).

full ThinCC export borked

On Candela production (eg: https://courses.candelalearning.com/biology1x46master/wp-admin/tools.php?page=candela-thin-export.php)

Exports work well if you leave "Only pages marked as export" checked, but if you uncheck it, incomplete ThinCC is generated (see preview or below):

<?xml version="1.0" encoding="UTF-8"?>
<manifest identifier="cctd0001"
          xmlns="http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1"
          xmlns:lom="http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource"
          xmlns:lomimscc="http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest"
          xmlns:cpx="http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lomresource_v1p0.xsd
                      http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd
                      http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lommanifest_v1p0.xsd
                      http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd">
    <metadata>
        <schema>IMS Thin Common Cartridge</schema>
        <schemaversion>1.3.0</schemaversion>
        <lomimscc:lom>
            <lomimscc:general>
                <lomimscc:title>
                    <lomimscc:string language="en-US">Biology I</lomimscc:string>
                </lomimscc:title>
                <lomimscc:description>
                    <lomimscc:string language="en-US">Simple Book Production</lomimscc:string>
                </lomimscc:description>
            </lomimscc:general>
        </lomimscc:lom>
    </metadata>
    <organizations>
        <organization identifier="O_1" structure="rooted-hierarchy">
            <item identifier="I_1">

            </item>
        </organization>
    </organizations>
    <resources>

    </resources>
</manifest>

PDF Export: Preliminary CSS modification

Can we implement the following preliminary PDF CSS rules to see how the PDF output looks to the designer from there for another round of adjustments? Ideally we'd use the following course currently on Production as a sample if it's possible for you to get that into your dev/test environments:
https://courses.candelalearning.com/collegesuccess2x30master/

<h1>, Book Title and Part Title: Ostrich Sans, 50pt, line space 60pt, centered
<h2> and Page Title: Decour Semibold, 36pt, line space 43pt
<h3> and Styled Boxes Title: Decour Semibold, 20pt, line space 24pt, centered (centered only in Styled Boxes)
<h4>: Decour Semibold, 14pt, line space 13pt
<h5>: Decour Light, 10pt, line space 13 pt, centered
<h6> and Image Captions: Decour Light Italic, 9pt, line space 13pt
<p> and all normal body text: Decour Light, 10pt, line space 13 pt

PDF Page Margins:
outside: 42mm (ie, right margin of odd pages, left margin of even pages)
inside: 34mm (ie, left margin of odd pages, right margin of even pages)
top: 22mm
bottom: 50mm

oauth extension?

Is this extension installed?

I'm getting the admin warning telling me it isn't:

screen shot 2014-05-09 at 12 05 19 pm

And later a fatal error telling me it isn't:
screen shot 2014-05-09 at 12 32 30 pm

phpinfo(); is also telling me the oauth.ini is being parsed at /etc/php5/apache2/conf.d/oauth.ini, but the extension isn't displayed.

I also see in the vagrant build logs that it should have been:
screen shot 2014-05-09 at 12 30 38 pm

Candela advanced theme: consider removing LTI map button

With ThinCC use, the button is confusing and mostly useless. There may be use cases for making manual links, but maybe could be addressed as needed by (temporarily) switching to another theme, or perhaps as a theme option.

IMSCC import problem with backslashed in HTML

In Candela IMSCC import, backslashes in HTML don't seem to be processed correctly, and either get stripped or interpreted as backslashes. This is proving annoying when importing content with inline latex.

I can work around this for now by escaping all the backslashes with another backslash.

CC BY-NA shows as CC BY-N

See screenshots. In the Attributions/Licensing/Citations area of Candela, what should be the CC BY-NC license shows up everywhere as CC BY-N.

the_dream_of_a_lifetime___college_success

edit_page_ college_success _pressbooks

Fatal error: Class 'XSLTProcessor' not found

When attempting to import a file, we get an error saying that the "Class 'XSLTProcessor' not found"

This can be solved (short term) by installing the XSL extension: apt-get install php5-xsl

Long term, this should probably be put into fm_apache_php.pp but I wasn't 100% sure it made sense for it to be there or in some other location, so I left it out.

After installing the XSL extension, imports get processed with no errors.

PDF Export: No TOC at Chapter/Part start

PDF exports don't currently output a table of contents (TOC) for each Chapter/Part on a page at the start of that Chapter/Page, which is now just a blank page with the Chapter/Part title. A style treatment for such a TOC is on order, but we need to output it for it to be styled.

Bonus nice to have: TOC can understand and report page numbers of first PDF pages of pages in Chapter/Part.

The TOC for this Chapter/Part would be:
college_orientation_and_success_strategies

The web view of the course also doesn't have a TOC, but we don't have users navigate to view Chapters/Parts, so we don't notice, like on this chapter/part:
https://courses.candelalearning.com/collegesuccess2x30master/part/you-and-your-college-experience/

chapter_2_who_am_i_and_what_are_my_goals____college_orientation_and_success_strategies

In the PDF export, there is just a blank page at the start of each chapter/part with the chapter/part title:
cos133_20150701a_pdf__page_23_of_217_

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.