Giter Club home page Giter Club logo

express's Introduction

Build Status

Express Installation Profile

The Express installation profile is developed and maintained by the University of Colorado Boulder where it is provided at no charge for college/school, academic and administrative department, and research group, lab and institute websites through the Web Express service.

This is a customized installation profile of the Drupal content management system. We maintain this publicly largely for other similar organization to reference. We do not support this code beyond working with developers employeed by other schools in the University of Colorado system or developers working with a vendor hired by an organization affilaited with the University of Colorado system. We do provide support for several key elements we've developed for Express, but contributed back to Drupal.org. Those can be found at https://www.drupal.org/project/express

In addition to the Express install profile, Express sites add functionality by enabling bundles using Profile Module Manager. Actively maintained bundles include:

Open Source Supporters

The Express profile takes advantage of several service providers that have open source licenses we use to develop the profile.

Sauce Labs

Cross-browser testing platform and open source <3 provided by Sauce Labs.

Travis CI

Test runner integration provided by Travis CI.

CodeClimate

Code quality analysis provided by CodeClimate.

express's People

Contributors

cathysnider avatar dasginganinja avatar ekellagher avatar evinfuilt-cu avatar jbertrand avatar jeor0980 avatar johnquest avatar jwfuller avatar kevincrafts avatar kreynen avatar owenmorrill avatar owenpm avatar

Stargazers

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

Watchers

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

express's Issues

Add hook_requirements to check Drupal version to admin/reports/status

Context

To encourage developers to be running the version of core we want to deploy next, we want to indicate the version of core we want in the express.info or cu_core.info and then test that if you are running Express 2.3.2 you are also running Drupal core 7.54.

Process

  1. Login to site as a DEV
  2. Click Express -> Reports -> Status Report

Expected result

As a developer, I should see either a green confirmation that the version of the Express profile using the desired version of core or a red warning that it is not.

Current result

Currently a developer can leave the current version of core on an older core release. This makes it less likely we will find bugs with the combination of the profile and core we are planning on releasing to production.

Possible Fix

When we decide that we are going to roll out an update to Drupal core, the version of core the Express profile is "pinned" to will be changed in the profile's .info file. Not sure if there is support for this in the standard .info values, but those values can be extended as needed.

Screenshots

status_report_profile_core_versions

Populate calendar events using new API for existing blocks

Context

Once the new version of the calendar service is fully populated, we want to be able to deploy a release that will to using it without needing to manually place new beans into existing layouts.

The process for retrieving both categories and events needs to be updated to use http://help.activecalendar.com/Active_Calendar_API.MainPage.ashx

Process

Should remain as close to http://www.colorado.edu/webcentral/tutorials/v2/events as possible in the initial release.

Expected result

Users don't complain that they don't understand how to place calendar blocks and/or the update negatively impacted their layouts.

Place Tracking Pixel Feature Into CU-Search Engine Optimization

Context

Tracking pixel feature exists in separate feature group.

Expected result

Tracking pixel feature exists in CU-Search Engine Optimization feature group.

Current result

Tracking pixel feature exists in CU_SEO feature group.

Possible Fix

Change package in info file.

As a SO hosting externally, I need to know when a custom Express+ bundle has been updated

Context

This is currently issues with connect.cu.edu and living.colorado.edu. I created an issue about this in Jira (DEVOPS-311) when we started https://github.com/CuBoulder/cu-express-drops-7

I think the answer might be https://www.drupal.org/project/erus running in Express and https://github.com/SU-SWS/erus on GitHub.

We'd need to add additional values to each bundle's .info and there is currently no real plan for D8, but the ERUS project is maintained and used by Stanford University. I've already reached out to the project's maintainer. They are very open to our contributions and working together on a D8 branch.

I'd like to see this integrated now with any project that we know is being used on an external host (Classes Bundle, Video Hero Unit, ??).

Whether or not we can do this successfully will impact our ability to offer "build on Express as a base" to other developers and how we structure code repositories in D8.

Add cu_collections to Advanced Content Bundle

Context

The cu_collections module has been deployed and enabled on a few sites but it needs to be added to a bundle before we open it up to anyone. The Advanced Content Bundle is a good fit.

Possible Fix

  • Add cu_collections as a dependency to the Advanced Content Bundle
  • Add an update hook to the Advanced Content Bundle to enable cu_collections

Show More Descriptive Text In Content List AutoComplete Field

Context

Collection Item List Pages don't include the same information as you get on the Layout edit screen. If I have two pieces of content with the same name, I can't know what content is a page vs. article vs. whatever.

Current result

  1. Given I am logged in as a user with the "content_editor" role
  2. And I turn on the "cu_advanced_content_bundle"
  3. When I create a "Basic page" with the title "Content Item"
  4. And I create a "Frequently Asked Questions" with the title "Content Item"
  5. When I go to "node/add/content-lit-page"
  6. And I enter "Content" into the "Content" autocomplete field
  7. Then I see a "Content Item" suggestion.

Expected result

  1. Given I am logged in as a user with the "content_editor" role
  2. And I turn on the "cu_advanced_content_bundle"
  3. When I create a "Basic page" with the title "Content Item"
  4. And I create a "Frequently Asked Questions" with the title "Content Item"
  5. When I go to "node/add/content-lit-page"
  6. And I enter "Content" into the "Content" autocomplete field
    // The content item should be the second node created on the site.
  7. Then I should see a "Basic page: Content Item (2)" suggestion.
  8. And I shouldn't see a "Content Item" suggestion.

Possible Fix

Add the content type and the node id to the title of the content being listed. Make that field instance be an entity reference view and add the extra info there.

Screenshots

screen shot 2017-02-28 at 10 26 45 am

Report any problems in admin/reports/status to Atlas

Context

Currently we have some hook requirements like Profile Module Manager report back to Atlas. Rather than only capture these status checks, we'd like an overall health boolean that would show if any core or contrib status checks have failed like the permissions required to update sitemap.xml.

This will require an Atlas schema ticket as well.

Process

  1. Login to site as a DEV
  2. Enable a module that should be on
  3. Submit stats to Atlas from admin/config/development/atlas/statistics

Expected result

Atlas should have 1 in a stats value named has_error, has_issue or something like that.

Change OSR staff and test account creation from install to login, delete unused accounts

Context

There is no reason to create accounts on install. Accounts for OSR staff and testing should only be promoted to the developer or admin roles if the account logs into a site.

As the team grows, not creating accounts will noticeably reduce install time.

Process

[ordered list the process to finding and recreating the issue, example below]

  1. Login to site as yourself or test accounts for SO, CE, and EO roles

Expected result

You should see the options a user with the role of the account you used should have

Current result

[describe what you currently experience from this process, and thereby explain the bug]

Possible Fix

Rather than prepopulate accounts, the role assignment should be made using the user account creation hook.

Existing OSR and testing accounts that haven't been used should be deleted with an update hook.

2.3.0 Sprint Plan

As we continue to refine the development workflow for Express, these monthly-ish sprint plan posts should improve. We are still using Jira for issue tracking and haven't automated a way to push sanitized versions of the issues from Jira to GitHub. As a result, the issue titles have limited value.

2.3.0 is a minor version change because it includes new functionality. Mainly...

FIT-2224 Move Newsletter Bundle from Express+ to Express
FIT-2245 Allow sites to display filtered content from CU Boulder Today site
PLS-4 As a a content editor, I need to pass information from my Express website to Salesforce

In addition to the new functionality, we will continue to improve the accessibility, security, and performance of the Express install profile by attempting to resolve theses issues;

FIT-2246 Improve RAVE Alerts network failure response
FIT-2197 class removes spaces between words on screen readers [ACCESSIBILITY]
FIT-1369 Update our contrib modules on Drupal.org [SECURITY]
FIT-1285 Disable Grid Size Blocks for sites that aren't using it [PERFORMANCE]
FIT-907 Lists next to a floated left image don't have the correct padding
FIT-997 As a content editor I need to specify the type of ordered list
FIT-1174 View Font Awesome Icons link should link to internal site page, not Font Awesome site
FIT-1308 Show source of help links in admin/express/help
FIT-1424 Require Express+ sites to have development owner
FIT-1452 Update box colors to match current border/background colors
FIT-1467 Hide url redirect field on all beans, move revisions to last field order
FIT-1474 Term reference fields are not updated when a term is deleted
FIT-1709 Fix PHP Notices in Publications Bundle
FIT-2240 Express Version returns 2.7.7
FIT-1987 Error messages related to video and feeds
FIT-1999 Article List Bug
FIT-2046 Sort out issue with express_layout and entity reference
FIT-2057 Pathologic settings result in "child" sites
FIT-2095 Transition themes to new repos for Atlas packages
FIT-2119 Alter recaptcha, analytics, and any other CU Boulder specific core varialbles for Pantheon
FIT-2130 Improve text of core account activation message
FIT-2132 Notice in cu_share module
FIT-2134 Warning in express_dashboards module
FIT-2140 Article List Page authors are anonymous
FIT-2145 add anchor to people list views
FIT-2147 Convert theme logo to SVG
FIT-2151 Add 'Who's Online' block to /users page
FIT-2158 Add option to Profile Module Manager to lock projects that can't be declared as dependency
FIT-2159 Use Devel Switch User to switch users on Behat tests
FIT-2162 Add documentation about Pantheon Site Audit for excluding checks
FIT-2164 Update Drupal core to 7.51 on Travis config [SECURITY]
FIT-2166 Add performance logging on Travis [PERFORMANCE]
FIT-2169 Alter QuickTab to Discourage using with full pages of content [PERFORMANCE]
FIT-2171 Move related article module from publication bundle to news bundle
FIT-2174 Submit buttons don't have a consistent display
FIT-2175 Rename block_style to cu_block_theme
FIT-2177 GSA Search Result URL doesn't wrap properly
FIT-2178 Photo galleries in content list block not displaying properly
FIT-2184 Make Button group shortcode responsive
FIT-2187 Submit button accessibility [ACCESSIBILITY]
FIT-2188 "Send" in button label text should add primary button class
FIT-2189 As a user, I need better search
FIT-2204 Allow site owners to clear cache once an hour
FIT-2206 Floated/Aligned image captions shouldn't float on mobile
FIT-2208 upgrade font awesome to version 4.7
FIT-2209 QuickTab collapsible option does not work
FIT-2211 Bottom border missing from quicktab panels
FIT-2213 User External Update Error during update when existing invites are found
FIT-2218 Light gray box outline needs to be darker
FIT-2219 Block Title Icons missing a 'None' option
FIT-2220 Block Configuration includes URL Redirects
FIT-2221 Add Soundcloud embed shortcode to Express core
FIT-2226 Images floated to the left of a list don't render bullets properly
FIT-2227 Improve accessibility of email addresses in People List Pages [ACCESSIBILITY]
FIT-2235 Test out Simple LDAP with the Invite module
FIT-2242 Button Shortcode Can't Handle Arrays In Query Strings
FIT-2243 Add More Display Options to People List Pages

As a SO/CE, I want to be able to display calendar events on my site

Context

On May 15, we need to switch over to using a new version of the Active Data calendaring service. Jo is currently getting the purchase order processed. Once we've processed that, Active Data will spin up our instance and we can start working with the new API. The plan is get new versions of the calendar functionality rolled into Express in 2.4.0, but continue using the older version on sites. Once we belive we can consume the data using the new APIs in Express using test events, Active Data will import all of our data and keep the old and new instances synchronized. Users will still be creating event in the old system, but everything created will eventaully show up in the new system.

Once all the data is migrated, we can switch the sites using the events over to using the new system.

Before May 15, all users will need to be trained on using the new system.

On May 15, all events will need to be created in the new system.

API documentation is available at http://help.activecalendar.com/Active_Calendar_API.MainPage.ashx

As a SO/CE I need to have a block be visible or hidden depending on the type of display it is being viewed on (desktop, tablet, mobile)

Context

When placing blocks on a page, the best region to place them in for desktop displays and mobile displays is not always the same.

For instance, having a lead generation form at the top of the sidebar is great for desktop, but ends up at the bottom of the page on a mobile display.

Process

Create duplicate blocks and add them in multiple locations, telling each block which display it should be shown/hidden on
screen shot 2017-03-07 at 4 43 59 pm

screen shot 2017-03-07 at 4 44 10 pm

Possible Solution

https://github.com/CuBoulder/express_responsive_visibility_bundle

As SO, I want to be able to embed a Slate form

Context

After several weeks we've finally been given the access we need to confirm Technolution's claims about their Slate service's uptime and security. Embedding the form in a page on Express requires inserting javascript specific to that form.

It is still unclear who has access to the export code within Slate, but we need a form that allows the key values of the javascript to be saved in Drupal. It might make the sense to do this as a custom block, but we really need to get actual values to work see that the form looks like.

This information can be found at https://technolutions.zendesk.com/hc/en-us/articles/216174328-Form-builder-dynamic-embed-and-query-string-parameters, but only if you have administrative access the Slate database.


The form builder supports both "simple" and "dynamic" embeds. Both methods use <script> tags to inject the form into the hosting page's document object model (DOM), enabling the form to receive all of the CSS styles from the hosting page. Both methods insert the form through AJAX-friendly methods (i.e. no "document.write" is used). Both methods provide field validation, address validation, and submit the data back into Slate. The difference then lies within the capabilities of pre-filling the form and passing query string parameters into it as well as adding the form through dynamic script. You can use the dynamic embed regardless of whether or not you choose to utilize these integration points, too.

When using the dynamic embed, Slate will read in the query string parameters that were passed to the hosting page.

There are two types of query string parameters:

  • "person" - By sending a "person" parameter with the unique identifier (oftentimes called a "Prospect ID" or "Person ID" in Slate---this is different than their Slate ID and is a 32-byte GUID), any system fields on the form will be prefilled for the registrant, and the submission of the form will update that specific record
  • "form_EXPORT" - By sending a parameter like "form_sys:first" or "form_myOtherField", you can prefill a form field with a specific value. This can be used on embedded forms with the new "invisible" flag set to prefill a program of interest, for example, where the form is embedded on that program's website.

If a form is embedded on the page http://myuniversity.edu/my-form.html, to prefill a form for a specific student you would link to the following address in your email message, provided that Prospect-ID is a merge field in your mailing: http://myuniversity.edu/my-form.html?person={{Prospect-ID}} If your webpage already includes a query string parameter, you will need to append this additional parameter with an ampersand (&) instead of a question mark.

If you wanted to prefill a program of interest with an export label of sys:program and a value of "Chemistry":

<div id="form_211afdcd-26ad-4084-8b41-349d8d55f09a">Loading...</div><script>/*<![CDATA[*/var script = document.createElement('script'); script.src = 'https://myuniversity.edu/register/?id=211afdcd-26ad-4084-8b41-349d8d55f09a&output=embed&div=form_211afdcd-26ad-4084-8b41-349d8d55f09a&form_sys:program=Chemistry' + ((location.search.length > 1) ? '&' + location.search.substring(1) : ''); var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s);/*]]>*/</script>

The "form_EXPORT" query string parameters may also be used in a simple embed (if including them statically in the embed code), and both the "person" and "form_EXPORT" parameters may be used when linking to a form hosted directly in Slate.

Feeds RSS Bundle Needs a View Mode

Context

We have a developer blog feed at https://www.colorado.edu/webcentral/feed/230/all/rss.xml](https://www.colorado.edu/webcentral/feed/230/all/rss.xml), and it doesn't have a view mode so it inherits the default view mode.

That view mode places images at the top and the body second. Furthermore, the body field is not truncated.

Users of Web Express should get a default feed more in the line of what you would see in the wild and possibly include options for display.

Expected result

  1. Given I am logged in as a user with the "site_owner" role.
  2. When I enable the "cu_news_bundle" module.
  3. And I enable the "cu_feeds_bundle" module.
  4. And I add an "article" with the title "Feeds Article"
  5. And I add "news" as a "category" to the "article" with the title "Feeds Article"
  6. And I create a "feed" with the title "Sample Feed"
  7. And I add "news" as a "categories" to the "feed" with the title "Sample Feed"
  8. And I add "feed/news/rss.xml" as a "RSS Feed URL" to the "feed" with the title "Sample Feed"
  9. When I go to "feed/news/rss.xml"
  10. Then I should see ...[HTML that I should see]

Current result

  1. Login to site as a site_owner.
  2. Enable the News & Articles bundle.
  3. Add an article with several photos and a "news" category.
  4. Enable the Feeds bundle.
  5. Create a feed using the "news" category.
  6. Go to the RSS feed URL.
  7. See that there are several images at top of page and the body field is not truncated to the summary.

Possible Fix

Add an RSS view mode with only the body field for articles. Possibly add settings to "/admin/settings/feeds/rss/add" for different display styles.

Links to Examples

  • Drupal planet feed Need to scroll through to see Webcentral blog post about Simpletests.

As AU, I need to be able to search web/people now and possibly directory/jobs/classes in the future

Context

This user story is currently incomplete. I'm hoping @kevincrafts can add more background information about this.

We've had a request from Identity Managment to stop searching all terms in LDAP by default. I'm not sure why these were combined but it doesn't make much sense to search LDAP for something like "space" or "nasa".

What other universities are doing:
https://twin-cities.umn.edu/ <- Searches for both content and people

screen shot 2017-12-20 at 9 16 07 am

screen shot 2017-12-20 at 10 38 26 am

Re-add field_collection 7.x-1.0-beta12 now that

Context

Now that CuBoulder/atlas#187 has been merged in, we need to try updating field collection to its beta12 release. If, when this is pushed up to dev or test, the db update still seg faults, we'll need to return to beta11 of the module.

Process

Update field_collection to 7.x-1.0-beta12.

Expected result

Updates with no seg faults.

Current result

Currently one beta version behind.

Possible Fix

Upgrade to beta12.

Screenshots


Links to Examples

As a SO/CE, I would like better designed button groups

Context

To better display a row of button links, these redesign helps to design top level pages with links to deeper pages and address wide screen displays when the button groups are placed in wide regions.

Process

[ordered list the process to finding and recreating the issue, example below]

  1. Create a text block
  2. Insert the following shortcodes:
    [buttongroup size="large" color="blue"]

[button url="http://www.colorado.edu" color="blue"]Button Text[/button] [button url="http://www.colorado.edu" color="black"]Button Text[/button] [button url="http://www.colorado.edu" color="gold"]Button Text[/button] [button url="http://www.colorado.edu" color="blue"]Button Text[/button]

[/buttongroup]
3. Place this block in the intro wide region

Expected result

screen shot 2017-02-27 at 3 07 37 pm

Current result

screen shot 2017-02-27 at 3 09 18 pm

As SM, we need a better way to manage integration issues

Context

We already integrate several services with Express and have requests to integrate with several more including Siteimprove, Slate and Active Data.

Service integrations like RAVE are decisions made by OSR that impact all sites, but integrations like Vimeo with the video hero units or Slate embeded forms are services that site owners opt into.

For the "opt-in" services, site owner should also be opted into notices about issues with the integration. So if Vimeo is down, site owners who opted into video hero units would recieve that notice.

Image fields with insert enabled are inserted whenever the enter key is pressed in a field

Context

When editing a page that has an inserted image on it, focusing on a field and pressing the enter button can cause additional copies of an image to be inserted into WYSIWYG fields.

Process

  1. Enable News Bundle
  2. Create some tag terms
  3. Create an Article
  4. Add image to photo field and insert into WYSIWYG editor
  5. Swith to Tag tab
  6. Start typing one of the terms you added in before, and select and enter USING THE KEYBOARD

Expected result

Using the keyboard enter the taxonomy term should add the term to the term reference field.

Current result

Using the keyboard to enter the taxonomy term also inserts an additional copy of the image into the WYSIWYG Editor.

Possible Fix

https://www.drupal.org/project/insert/releases/7.x-1.4

Screenshots

ezgif-2-e1a88a3a5b

As a SO/CE I need additional background colors options for block themes, hero units, and block sections

Context

To add some additional design options in presenting content, two additional backgrounds options (light blue, tan) should be added for text blocks, hero units, and block sections.

Process

  1. Create a text block
  2. Choose from one of the new color options (light blue, tan)

Expected result

The block should have the background color you selected.

Current result

These two options are currently not available.

Screenshots

screen shot 2017-01-25 at 12 12 20 pm

Anchor list shortcode contains status/warning headers

Context

I'm not sure if this is a bug per say, but the recommended selector is "#content h2" which includes the status and warning message sections. They have an invisible h2 for screen readers.

Ideally, you'd want the anchor shortcode to list h2's since that should be the correct heading to use. I don't think this will be an issue most of the time, but if a warning or status message happens to appear on pages where this anchor tag is used as is, they would see the headings in the page.

Process

  1. Login to site as a Site Owner.
  2. Create a basic page with h2 headers and an anchor shortcode "[anchors selector="#content h2" title="A list:" /]
  3. Edit another page and don't save it. Navigate away from that page to create a content lock warning message.
  4. Go back to the anchor shortcode page and you should see "Warning Message" show up in the anchor list shortcode section.

Expected result

The anchor list shortcode example should not contain the status message h2s.

Current result

The anchor list shortcode example contains status message h2s.

Possible Fix

A suggestion would be to have the shortcode example include ".region-content h2" as the default since that only contains the content people would want to target.

Screenshots

Screenshot attached
screen shot 2017-02-27 at 4 05 36 pm

Update user_ext_invite message to inviter to include url of site

Context

The current message only includes the P1 in the email it is sent from.

Process

[ordered list the process to finding and recreating the issue, example below]

  1. Login to site as yourself in a SO, ADMIN or DEV role (email needs to be correct)
  2. Click Express > Users > Invite users
  3. Invite a user

Expected result

The email you get should include the url of the site you invited the users to join

Current result

On 2/6/17, 10:26 AM, "[email protected] on behalf of [email protected]" <[email protected] on behalf of [email protected]> wrote:
We have received your request to grant Site Owner access to the following:
[email protected]
An email invitation has been sent requesting the user to login and accept the
invitation. Upon completion, a confirmation email will be sent.
If you did not submit this request or need to modify it, please contact us at
[email protected].
โ€“
The Web Express Team
http://www.colorado.edu/webcentral
[email protected]

As a SO/CE, I would like to add additional text/content with the title

Context

I've seen some other school designs and some attempts to do this within Express, but the overall idea is to allow some additional content to be displayed with/below the title.

Expected result

screen shot 2017-02-27 at 3 15 07 pm

Possible Fix

Adding an additional WYSIWYG field to some content types (Page, Article, Person). This should be a node field, not a layout field as I think it disrupts the editing experience when you content gets split between multiple screens.

Links to Examples

Design landing page within Active Calendar

Context

The new version of the Active Date Calendar service offers much more attractive landing pages within the service.

Process

  1. Go to http://www.colorado.edu/events/

Expected result

User redirected to branded version of calendar.colorado.edu

Current result

User sees integration with older version of service.

Links to Examples

http://go.activecalendar.com/austincollege/
http://www.wilmu.edu/
http://go.activecalendar.com/uamont/
http://calendar.mwsu.edu/
http://go.activecalendar.com/lehighu
http://cal.np.edu/
https://go.activecalendar.com/westga
http://events.tellurideskiresort.com/

Disable Rich Text bar positioning is off

Context

The disable rich text bar, which is under the WYSIWYG editor window, has some odd positioning causing it to be off from edge of the container.

Expected result

screen shot 2017-02-28 at 3 16 33 pm

Current result

screen shot 2017-02-28 at 3 16 23 pm

Possible Fix

Add in some negative margins that come from the fieldset wrapper:

.wysiwyg-toggle-wrapper {
background-color: #333;
color: #fff;
padding: 5px 10px;
font-size: 75%;
text-transform: uppercase;
margin: 0 -13px 0 -15px;
}

As a SM, we need more data about webform usage

Context

We have the node count for webforms, but we don't know how many of these forms are active (not just active in the webform node configuration, but actually linked in the site and/or actively taking submissions). If there is a form that hasn't had a submission in 13 months, we shouldn't consider that active. 13 months will include yearly events, but I think we should actually be warning users if they have an active form with no submissions in > 90 days.

If we are seriously evaluating hosting webforms on child sites or a centralized service, we need more data.

Once you have some idea of what data we want to build a report, we'll need an Atlas issue to update the stats schema to include this information.

Hide osr test users in admin/users from SO

Context

SO now see the OSR test user accounts for SO, CE, and EO. Even with #814, we want these accounts hidden from SO even if they are used.

Process

[ordered list the process to finding and recreating the issue, example below]

  1. Login to site as a SO
  2. Click Express > Users

Expected result

SO should only see themselves and users they've added

Current result

SO sees osr-test-owner, osr-test-content and osr-test-edit-own

As a SO/CE, I want to know about potential path conflicts with F5 routing

Context

Because of the number of legacy patch still in the F5, we are often getting reports about errors when trying to create homepage content.

Not sure if this is something that we need in all Express sites or only in the express_homepage bundle. Check with @jwfuller

Process

  1. Login to homepage as a SO, CE, ADMIN or DEV
  2. Click Express > Content
  3. Add Content > Basic Page
  4. Under the URL path settings, uncheck Generate automatic URL alias
  5. Set the path to "test" or "123test"
  6. Click save

Expected result

You would see your node

Current result

Depending on the current legacy configuration you will see a white screen, legacy 404, of varnish 404

Possible Fix

Add validation hook that checks Atlas for potential F5 routing conflicts.

As a SM, we want to be able to control how Video Hero Units are used

Context

Now https://living.colorado.edu/ is live we are getting requests to implement the Video Hero Unit feature on other sites. To avoid a potential new student from having to laod 3 or 4 videos before getting to the information about a program they are interested in applying for.

There are also issues with how many "stock" videos the video group can produce before the 2.4.0 release. We REALLY don't want the exact same video on every site using this.

So for the initial release, we want to enable this as an Express+ bundle based on requests made through https://www.colorado.edu/webcentral/content/express-bundle-request. I started https://www.colorado.edu/webcentral/content/express-plus-bundles, but we haven't been maintaining or publicizing that page/process.

Because of the number of requests we are likely going to get for these as we start enabling them on more sites, we really need to define the policies for which sites/pages can have a video hero unit.

Improve RAVE Alerts module's network failure response

Context

Currently, a network outage that prevents sites from accessing getrave.com will really slow page loads when hook_exit attempts to execute the drupal_http_request.

An attempt at this logic was made in FIT-2198, but it was flawed in that the message would appear on all sites if an outage lasted > 2 minutes regardless of whether there was an alert when the outage started. The FIT-2198 branch also includes other changes we are not ready to implement like using HTTPRL.

Expected result

Never see the alert banner unless the ACTIVE token has been sent.

Current result

The alert banner's "all clear" message randomly shows up as users browse through www.colorado.edu/ pages.

Possible Fix

All of the services on colorado.edu need to be evaluated for usage. The error for Rave Alerts happens when there are no available sockets to connect to because those sockets are taken up by other external service calls.


Links to Examples

As a SO/CE I need to be able to place regular blocks with Express Layout

Context

Currently, only bean blocks can be placed, since regular blocks are not entities. Webform blocks, menu blocks are just some of the types that cannot be used with Express Layout.

Users that want to place a webform block on a page should not be forced into using context.

Possible Fix

https://github.com/CuBoulder/express/tree/block_to_bean

Configurations still need to be created/saved for installation

Related Issues

#832

Delete doesn't work via Atlas module

Context

An instance should be able to request it's deletion from Atlas. This is particularly nice when working locally.

Process

  1. Login to site as a DEV
  2. Visit Admin >> Config >> Development >> Atlas
  3. Choose 'Delete' from the status drop down
  4. Submit form

Expected result

Site should be queued for deletion.

Current result

Status is changed and then nothing happens since Atlas responds only to the DELETE method.

Possible Fix

  • Add new form for deletion, since it is such a significant action and use the DELETE method

As a SO, I want to be able to add tracking pixels and other embeds quickly

Context

@kevincrafts has already written https://github.com/CuBoulder/express/tree/dev/modules/custom/cu_seo_admin_bundle and improved it to be more self-service with https://github.com/CuBoulder/express/tree/feature%2FFIT-2458

Most of the dev team haven't had to deal with these, but the number of requests has increased to the point that we cannot limit this to something only a dev can do. The form users use to request tracking pixels can be found at https://www.colorado.edu/strategicrelations/tracking-pixel-submission-form

McGill University has shared https://www.drupal.org/project/campaign_tracker. That project supports Facebook, Google Adwords and Doubleclick tracking pixels. That project uses custom bean types for each type of pixel they support. We also need to add support for Twitter, Siteimprove, and Slate.

While I'd love to team up with another university to try to keep up with changes to supported services and new services, @kevincrafts and I agree that bean isn't the right way to go for our service.

Instead, we want to build on the existing tracking pixel entities to add types for supported services. Users would be able to add their own pixels if they only require adding values that can be entered into the form for each type. We would still support adding custom javascript to leverage the more advanced features of these services or new services we haven't defined a type for, but only developers would be able to add those.

The current solution will only allow placing a pixel at a specific path. We need to expand that so that the pixel entities can be placed using url patterns/wildcards and/or placed using Context. Context may not be available in D8, so pattern placement might be the way to go long term. If that is going to add significant time, using Context in D7 is an acceptable interim solution.

Webform Blocks on light gray backgrounds need more contrast

Context

When webform blocks have a block theme applied, the form elements may need additional styling to add more contrast. The light gray background is a good example of this.

Process

[ordered list the process to finding and recreating the issue, example below]

  1. Create a simple form with text fields and text areas
  2. Place the webform block on a page
  3. Apply the light gray block theme to the webform block

Expected result

screen shot 2017-03-01 at 10 35 38 am

Current result

screen shot 2017-03-01 at 10 31 56 am

Remove Content Editor From SEO Dashboard View

Context

While logged in as a content editor on "admin/dashboard/seo," all of the links lead to "Access Denied." The permission for "use seo dashboard" was entered incorrectly.

Expected result

Given I am logged in as a user with the role
When I enable the "cu_seo_bundle" module
And I go to "admin/dashboard/seo"
Then I should see

Examples:
| role | message |
| content_editor | "Access denied" |
| edit_my_content | "Access denied" |
| site_owner | "Search Engine Optimization Checklist" |
| administrator | "Search Engine Optimization Checklist" |
| developer | "Search Engine Optimization Checklist" |

Current result

  1. Login to site as content_editor.
  2. Enable SEO bundle.
  3. Go to SEO dashboard overview page.
  4. View links that all have "access denied" status when clicked.

Possible Fix

Change "view seo dashboard" permission to "use seo dashboard" in cu_seo_bundle module.

Related Links

https://www-test.colorado.edu/cmci/admin/dashboard/seo

Update field_collection to 7.x-1.0-beta12

Context

While updating to beta12 we ran into an issue on dev and test with the hook updates in beta12. Reports from sources say that this should be changed into a batch process? One way or another, we need to be able to get this to update correctly so that we aren't behind when a security release comes out. We're currently running field_collection-7.x-1.0-beta11.

Process

  1. Update field_collection to 7.x-1.0-beta12
  2. PR to current profile (2.4.0)
  3. Push to dev or test
  4. Run db updates

Expected result

No errors.

Current result

$ drush updb -y
4 byte UTF-8 for mysql is disabled. See the documentation on adding 4 byte UTF-8 support for more information. (Currently     [warning]
using Database 4 byte UTF-8 support Disabled)
The following module is missing from the file system: <em class="placeholder">color</em>. For information about how to fix    [warning]
this, see <a href="https://www.drupal.org/node/2487215">the documentation page</a>. bootstrap.inc:1138
 Cu_users          7025  Add Tommy Cox as a developer.
 Field_collection  7008  Update fields in field collections already set to use Entity Translation.
 Flexslider        7203  Implements hook_update_N().   Remove the flexslider_version variable.
 Ldap_servers      7207  Fixes a typo in an LDAP variable name.
Do you wish to run all pending updates? (y/n): y
4 byte UTF-8 for mysql is disabled. See the documentation on adding 4 byte UTF-8 support for more information. (Currently     [warning]
using Database 4 byte UTF-8 support Disabled)
The following module is missing from the file system: <em class="placeholder">color</em>. For information about how to fix    [warning]
this, see <a href="https://www.drupal.org/node/2487215">the documentation page</a>. bootstrap.inc:1138
Performed update: ldap_servers_update_7207                                                                                    [ok]
Performed update: flexslider_update_7203                                                                                      [ok]
sh: line 1: 26859 Segmentation fault      (core dumped) /usr/bin/php -d magic_quotes_gpc=Off -d magic_quotes_runtime=Off -d magic_quotes_sybase=Off /usr/local/drush-6.6.0/drush.php --php=/usr/bin/php --php-options=' -d magic_quotes_gpc=Off -d magic_quotes_runtime=Off -d magic_quotes_sybase=Off' --backend=2 --yes --root=/data/releases/p11be89aea3b/p11be89aea3b --uri=http://default updatedb-batch-process 146 146 2>&1
'all' cache was cleared.                                                                                                      [success]
Finished performing updates.                                                                                                  [ok]
$ drush updb -y
4 byte UTF-8 for mysql is disabled. See the documentation on adding 4 byte UTF-8 support for more information. (Currently     [warning]
using Database 4 byte UTF-8 support Disabled)
The following module is missing from the file system: <em class="placeholder">color</em>. For information about how to fix    [warning]
this, see <a href="https://www.drupal.org/node/2487215">the documentation page</a>. bootstrap.inc:1138
 Cu_users          7025  Add Tommy Cox as a developer.
 Field_collection  7008  Update fields in field collections already set to use Entity Translation.
Do you wish to run all pending updates? (y/n): y
4 byte UTF-8 for mysql is disabled. See the documentation on adding 4 byte UTF-8 support for more information. (Currently     [warning]
using Database 4 byte UTF-8 support Disabled)
The following module is missing from the file system: <em class="placeholder">color</em>. For information about how to fix    [warning]
this, see <a href="https://www.drupal.org/node/2487215">the documentation page</a>. bootstrap.inc:1138
sh: line 1: 26971 Segmentation fault      (core dumped) /usr/bin/php -d magic_quotes_gpc=Off -d magic_quotes_runtime=Off -d magic_quotes_sybase=Off /usr/local/drush-6.6.0/drush.php --php=/usr/bin/php --php-options=' -d magic_quotes_gpc=Off -d magic_quotes_runtime=Off -d magic_quotes_sybase=Off' --backend=2 --yes --root=/data/releases/p11be89aea3b/p11be89aea3b --uri=http://default updatedb-batch-process 148 148 2>&1
'all' cache was cleared.                                                                                                      [success]
Finished performing updates.

Possible Fix

Change to batch process?

Screenshots


Links to Examples

As a SO/CE I need to make sure that text placed over an image inside a hero unit has enough contrast to be readable

Context

Placing text on top of images does not always result in something that is easy to read. While this could be solved with image editors, not all of our clients have access or the knowledge of how to use them.

This ticket adds an option of inserting an overlay on the image to make the text easier to read.

Process

  1. Create a Hero Unit block
  2. Add a background image and some text
  3. Check the "Add overlay to improve readability" box at the bottom of the design tab

Expected result

Hero Unit should have an overlay that makes the text easier to read.

Current result

This feature does not currently exist.

Screenshots

screen shot 2017-02-27 at 2 54 10 pm

Before

After

Look for patterns in exiting tracking pixel code

Context

To allow site owners to enter their own tracking pixels, it would be best if they could generate code to make the tracking pixel. They wouldn't enter the JS, but they would enter key value pairs that would be inserted into JS on runtime.

Expected result

Site owner builds tracking pixel code themselves.

Current result

Whole JS tag has to be inserted into the database by a developer.

Issue outcome

A general pattern that can be used to create tracking pixels or a list of patterns that need developed into options.

Sites to Check

Tracking Pixel Patterns

Doubleclick

<!--
Start of DoubleClick Floodlight Tag: Please do not remove
Activity name of this tag: CU-Boulder FY17 Students Page
URL of the webpage where the tag is expected to be placed: http://www.colorado.edu/students
This tag must be placed between the <body> and </body> tags, as close as possible to the opening tag.
Creation Date: 08/29/2016
-->
<script type="text/javascript">
var axel = Math.random() + "";
var a = axel * 10000000000000;
document.write('<iframe src="https://4496471.fls.doubleclick.net/activityi;src=4496471;type=bebou002;cat=cu-bo001;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;ord=' + a + '?" width="1" height="1" frameborder="0" style="display:none"></iframe>');
</script>
<noscript>
<iframe src="https://4496471.fls.doubleclick.net/activityi;src=4496471;type=bebou002;cat=cu-bo001;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;ord=1?" width="1" height="1" frameborder="0" style="display:none"></iframe>
</noscript>
<!-- End of DoubleClick Floodlight Tag: Please do not remove -->

Template example

Facebook

<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','//connect.facebook.net/en_US/fbevents.js');

fbq('init', '1037280719652233');
fbq('track', "PageView")
fbq('track', 'ViewContent');

</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1037280719652233&ev=PageView&noscript=1"
/></noscript>
<!-- End Facebook Pixel Code -->

Template Example

Twitter

<!-- Twitter universal website tag code -->
<script>
!function(e,n,u,a){e.twq||(a=e.twq=function(){a.exe?a.exe.apply(a,arguments):
a.queue.push(arguments);},a.version='1',a.queue=[],t=n.createElement(u),
t.async=!0,t.src='//static.ads-twitter.com/uwt.js',s=n.getElementsByTagName(u)[0],
s.parentNode.insertBefore(t,s))}(window,document,'script');
// Insert Twitter Pixel ID and Standard Event data below
twq('init','nurff');
twq('track','PageView');
</script>
<!-- End Twitter universal website tag code -->

Need template...

<!-- Twitter universal website tag code -->
<script src="//platform.twitter.com/oct.js" type="text/javascript"></script>
<script type="text/javascript">twttr.conversion.trackPid('nurff', { tw_sale_amount: 0, tw_order_quantity: 0 });</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://analytics.twitter.com/i/adsct?txn_id=nurff&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0" />
<img height="1" width="1" style="display:none;" alt="" src="//t.co/i/adsct?txn_id=nurff&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0" />
</noscript>
<!-- End Twitter universal website tag code -->

...need second template?

Google

<!-- Google Code for Remarketing Tag -->
<!--------------------------------------------------
Remarketing tags may not be associated with personally identifiable information or placed on pages related to sensitive categories. See more information and instructions on how to setup the tag on: http://google.com/ads/remarketingsetup
--------------------------------------------------->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 882382384;
var google_custom_params = window.google_tag_params;
var google_remarketing_only = true;
/* ]]> */
</script>
<script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/882382384/?value=0&amp;guid=ON&amp;script=0"/>
</div>
</noscript>

Template example

RSS view mode of article nodes

Context

The RSS output of article nodes outputs the full view mode. The various core functions used to create the feed output actually call the RSS view mode, but since we don't have it configured, the full view mode is used.

http://www.colorado.edu/webcentral/feed/230/all/rss.xml

Process

  1. Enable the News and Feeds bundles
  2. Create articles
  3. View feed at feed/all/all/rss.xml

Expected result

Feed items should include the thumbnail and a 75 word teaser

Current result

Displays the full content and all images

As an ADMIN, DEV and SO, I want the option to lock out other editors

Context

This will eventually be used during site replication, but there are potential uses for this now so we can add the feature at any time.

We've already established the method of doing this in the Demo Mode Bundle and in Atlas before a site is installed.

The details of the UI need to be worked out, but the feature should enable a SO to lock out all other SOs, CE and EO or select specific users as exceptions. DEVs should be able to do the same.

When locking users out, the user initiating the lockout should have the option of leaving users a message. Once we have site replication, this is where they would share the new temp URL. Developers can also use this feature to leave a message if we lock a site because of performance problems or a bug that is causing loss of content.

Webforms should no be locked and users should be warned about this.

As a SO/CE, I would like the option of all blocks contained within a block row to be able to have the same height so when block themes are applied the design is cleaner

Context

When adding backgrounds to blocks within a block row, the design is cleaner and causes less visual clutter if the blocks are the same height.

Process

  1. Create a few text blocks
  2. Apply Background colors/block themes to those blocks
  3. Place them in a block row
  4. Check the match heights checkbox

[ordered list the process to finding and recreating the issue, example below]

  1. Login to site as a [SO, CE, EO, ADMIN or DEV]
  2. Click Administer
  3. Click Webform
  4. Enter "Kevin, don't do that" in the body field
  5. Click save

Expected result

The blocks within the row should all be the same height, and the backgrounds extending to the height of the largest block.

Current result

Block backgrounds are varied heights and don't match, adding visual clutter to the page.

Before:
screen shot 2017-01-25 at 1 00 39 pm

After:
screen shot 2017-01-25 at 12 12 20 pm

Remove Rave Alerts Block From Context UI

Context

Currently, you can place the Rave Alerts block wherever you want around your site via Context. We only want the Rave Alerts block showing up in the banner of the site.

Expected result

Given I am logged in as a user with the "site_owner" role
When I enable the "cu_advanced_design_bundle" module
And I go to "admin/structure/context/add"
And I select "block" from "reactions[selector]"
Then I should not see "RAVE_ALERTS"

Current result

  1. Login as a site_owner.
  2. Enable Advanced Design bundle.
  3. Add a new context.
  4. On the Context edit screen see "Rave Alerts" as a block you can add.

Possible Fix

Add or remove permission to use that block in context screen.

Screenshots

screen shot 2017-03-01 at 10 46 47 am

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.