Giter Site home page Giter Site logo

unlcms / project-herbie Goto Github PK

View Code? Open in Web Editor NEW
5.0 8.0 6.0 4.24 MB

Drupal 10 implementation at the University of Nebraska–Lincoln

Home Page: https://cms.unl.edu

License: GNU General Public License v2.0

PHP 39.99% CSS 10.69% Twig 48.26% JavaScript 1.06%
drupal php drupal10 unlincoln cms higher-education highered

project-herbie's People

Contributors

acoleman avatar dependabot[bot] avatar drprofesq avatar ericras avatar macburgee1 avatar sarongebre avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

project-herbie's Issues

Create unlcms/project-herbie-composer-plugin

The sole purpose of this package is to install webflo/drupal-finder and symfony/filesystem at the beginning of an installation so they can be used in \DrupalProject\composer\UnlScriptHandler.

Meta: Site management tools functional

This is an umbrella that is somewhat dependent on whether we're using Aegir or not.

Regardless, there are some things that need porting from 7 like referencing the "main" site for the users who are administrators

Meta: Site migration from Drupal 7

If we're supporting a DB to DB migration we'll probably need some custom code that handles inputting/obscuring the password for the database

Meta: Custom Block types

Add config and theme them.

This is a meta issue as this may be better broken up (into a carousel issue, grid layouts issue, and on and on)

Review Webform Access Tab

Currently, we have removed the Access tab in Webform (both on elements and on the form). We should revisit this issue when time permits.

Originally posted by @ericras in #9 (comment)

The Access tab is scary and removing it at this time is ok. Ideally, someone with permission to edit the form would have access to the "Create submissions->Roles" portion of that page. People frequently use that option in D7 to limit submissions to people with a UNL login (authenticated users).

Add oomphinc/composer-installers-extender composer package

https://packagist.org/packages/oomphinc/composer-installers-extender

The composer-installers-extender is a plugin for Composer that allows any package to be installed to a directory other than the default vendor/ directory within the repo on a package-by-package basis. This plugin extends the composer/installers plugin to allow any arbitrary package type to be handled by their custom installer and specified explicitly in the "installer-paths" mapping in the "extra" data property.

This will allow us to install the Webform third-party libraries in web/libraries. I need this #9, so it'll get committed and reviewed in that pull request.

Standardize Field Namespaces

We should standardize field name spaces.

Proposal

[optional_custom_designator]_[entity_type_abbreviation]_[bundle_abbreviation]_[name]

Proposed entity type abbreviations (max two characters):

  • b = block
  • c = reserved (see Namespace Reserved for Customizations below)
  • ee = External Entity
  • n = node
  • m = media
  • p = paragraph
  • u = user

Proposed bundle abbreviations (max five characters):

  • Blocks
    • html = HTML Code
    • accrd = Accordion
    • card = Card
    • cdcir = Card + Circle Image
  • Nodes
    • aprog = Academic Program
    • bpage = Builder Page
    • news = News
    • person = Person
  • Media
    • image = Image
    • file = File
    • rvid = Remote Video
  • Paragraph
    • Use the host entity's entity type abbreviation + bundle abbreviation + field abbreviation
    • E.g. For a paragraph attached to the Accordion block as an Item field, the prefix would be "p_b_accrd_item_". The paragraph's title field would be "p_b_accrd_item_title".

Examples:

b_html_body = Body field on the HTML Code bundle of the Block entity type
m_file_size = Size field on the File bundle of the Media entity type
n_person_name = Name field on the Profile bundle of the Node entity type

Field machine name prefix

It's possible to modify the field prefix used for machine names:

Field prefix in Field UI is configurable

I propose we remove the field prefix for fields created via the UI, which will free up six characters.

Namespace Reserved for Customizations

We anticipate customizations being built atop this distribution. I propose we reserve the c namespace to avoid future collisions.

c_n_food_group = Food Group field on the custom Food bundle of the Node entity type

File Upload limitations / path strategy

File Upload limitations

What file upload limitations do we want to implement for File media files and Image media files?

  • Max file size
  • Allowed formats
  • Min/max resolution (images only)

I think we should have some max file size. I also think we should have a max resolution. I've used 5000x5000px in the past on projects. If there are too many pixels, that can cause the server to choke.

The default allowed formats are as follows:

  • File
    -- txt, doc, docx, pdf
  • Image
    -- png, gif, jpg, jpeg

Path strategy

The default path uses tokens and is [date:custom:Y]-[date:custom:m]. Since these files are managed, it's not critical that we namespace them; avoiding collisions is more important. That said, I think we should use public: //media/file/[namespace collision avoidance strategy] and public: //media/image/[namespace collision avoidance strategy], respectively. Core uses [date:custom:Y]-[date:custom:m] to avoid filename collisions. I'd like to discuss this with the team.

Add missing files to /config/sync

The following files are automatically generated in /config/sync:

  • config/sync/.htaccess
  • config/sync/README.txt

Let's add them to version control so they don't show up as untracked files.

Rename layout builder "sections" to "bands"

Layout builder uses the term "sections", and we use the term "bands". This issue proposes using the String Overrides module to modify the UI to replace references to "sections" with references to "bands".

D8 ships with an Interface Translation module that builds on the multi-lingual capabilities of D8 core. That said, I think this is overkill for what we need. String Overrides tests successfully in D8 for me. That said, there is no D8 release, and it's been unsupported for a long time with no commits in about 13 months. We'd want to secure maintainership.

Screen Shot 2019-05-02 at 3 05 51 PM

Detect environment

It will be useful in a number of instances for Drupal to know where it's being run (e.g. production, local development). The primary use case is for the Config Split module.

Define entity browser

Define an entity browser that allows

  1. Selection of existing media (images and remote videos)
  2. Upload of new media (images and remote videos)

Commit Patches to Repository

Files (including patch files) that are attached to issues on Drupal.org can be deleted. This has happened before. This issue seeks to store copies of all patches used by this project to this repository. composer.json should be updated to apply patches from this repository.

Determine config import/export workflow

How do we accomplish the "distro" config workflow where a site's custom config (site title, custom content types, webforms) exists alongside centrally managed config from this project?

Create settings.php.inc

Create a settings.php.inc file to include code that we want executed in settings.php. This include file will live at profiles/herbie/includes/settings.php.inc. The default.settings.php file will be patched to include settings.php.inc. This will allow us to modify the included code without needing to update the various settings.php files that will exist in our multi-site installation.

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.