core issueshttps://gitlab.entropy.cc/blacklight-cms/core/-/issues2020-10-07T14:01:54Zhttps://gitlab.entropy.cc/blacklight-cms/core/-/issues/19Add png support to img-opt2020-10-07T14:01:54ZCaleb WeeksAdd png support to img-optAt a minimum img-opt should simply return the original image if a png is requested.At a minimum img-opt should simply return the original image if a png is requested.https://gitlab.entropy.cc/blacklight-cms/core/-/issues/18Investigate issue with BL failing to capture and report error from fshr.offers2020-10-07T14:01:56ZCaleb WeeksInvestigate issue with BL failing to capture and report error from fshr.offershttps://tm.entropy.cc/view.weml?deliverable=43405https://tm.entropy.cc/view.weml?deliverable=43405https://gitlab.entropy.cc/blacklight-cms/core/-/issues/7Move blacklight "edit-component" library out of bl-edit and into bl-render2020-10-07T14:02:02ZAaron HarderMove blacklight "edit-component" library out of bl-edit and into bl-render`/apps/blacklight/edit/lib/edit-component` is not just useful to blacklight-edit, but others as well. It should make a move over to `bl-render`. The library is already being used in `fshr.shared`, and so right now that site can't be us...`/apps/blacklight/edit/lib/edit-component` is not just useful to blacklight-edit, but others as well. It should make a move over to `bl-render`. The library is already being used in `fshr.shared`, and so right now that site can't be used, even in render mode, without loading blacklight-edit.https://gitlab.entropy.cc/blacklight-cms/core/-/issues/11Allow the editing of CSS / JS included in templateOnlyMode2020-10-07T14:02:01ZCaleb WeeksAllow the editing of CSS / JS included in templateOnlyModeCSS and JS inclusions, in most modules are currently done in a module-helpers function. However, since this is run on the server UX devs can't easily / quickly modify the inclusion lists. There are work arounds (such as directly includi...CSS and JS inclusions, in most modules are currently done in a module-helpers function. However, since this is run on the server UX devs can't easily / quickly modify the inclusion lists. There are work arounds (such as directly including the assets in the page), but then we lose the utility functions of 'rev' and 'if'.https://gitlab.entropy.cc/blacklight-cms/core/-/issues/4Profile model execution for performance monitoring2020-10-07T14:02:04ZCaleb WeeksProfile model execution for performance monitoringmight automatically turn on when in "raw" mode, and write the timings to _meta on each component.
then tweak the raw output to display timings when present
should be simple(ish)
It’d be nice to do via JSON as well, with a special .profi...might automatically turn on when in "raw" mode, and write the timings to _meta on each component.
then tweak the raw output to display timings when present
should be simple(ish)
It’d be nice to do via JSON as well, with a special .profiler selector maybe?
true
that's a good pointhttps://gitlab.entropy.cc/blacklight-cms/core/-/issues/14Add a handlebar helper to encode strings for use in data attributes2020-10-07T14:02:09ZCaleb WeeksAdd a handlebar helper to encode strings for use in data attributesPrimary use case for this is creating a utility to embed translations into HTML data attributes. It should work both with a String or with a JSON object. If the input is a String, double quotes need to be escaped with "
If the input...Primary use case for this is creating a utility to embed translations into HTML data attributes. It should work both with a String or with a JSON object. If the input is a String, double quotes need to be escaped with "
If the input is an Object, single quotes need to be escaped with ,https://gitlab.entropy.cc/blacklight-cms/core/-/issues/3Blacklight fails when multiple values are passed for a single query string pa...2020-10-07T14:02:11ZCaleb WeeksBlacklight fails when multiple values are passed for a single query string parameter.Express parses multiple values for a single parameters into an array. Blacklight seems to be only expecting String for parameter values. Same error stack trace below.
REQUEST: 2016.03.22-19:26:02 GET /content/fourseasons/en/campaigns/e...Express parses multiple values for a single parameters into an array. Blacklight seems to be only expecting String for parameter values. Same error stack trace below.
REQUEST: 2016.03.22-19:26:02 GET /content/fourseasons/en/campaigns/email-campaigns/free-breakfast.html?wcmmode=disabled&tracking=adfrfar&wcmmode=edit
TypeError: Object disabled,edit has no method 'toLowerCase'
at makePageInfo (/Users/caleb/Development/local_repositories/entropy/gitlab/fs-blacklight/node_modules/blacklight-cms/lib/blacklight-express.js:310:25)
at processSling (/Users/caleb/Development/local_repositories/entropy/gitlab/fs-blacklight/node_modules/blacklight-cms/lib/blacklight-express.js:153:15)
at /Users/caleb/Development/local_repositories/entropy/gitlab/fs-blacklight/node_modules/blacklight-cms/lib/blacklight-express.js:141:8
at processBodyText (/Users/caleb/Development/local_repositories/entropy/gitlab/fs-blacklight/node_modules/blacklight-cms/node_modules/sling-connector/sling-connector.js:273:4)
at Request._callback (/Users/caleb/Development/local_repositories/entropy/gitlab/fs-blacklight/node_modules/blacklight-cms/node_modules/sling-connector/sling-connector.js:212:7)
at Request.self.callback (/Users/caleb/Development/local_repositories/entropy/gitlab/fs-blacklight/node_modules/request/request.js:199:22)
at Request.emit (events.js:98:17)
at Request.<anonymous> (/Users/caleb/Development/local_repositories/entropy/gitlab/fs-blacklight/node_modules/request/request.js:1036:10)
at Request.emit (events.js:117:20)
at IncomingMessage.<anonymous> (/Users/caleb/Development/local_repositories/entropy/gitlab/fs-blacklight/node_modules/request/request.js:963:12)
The parameter should be converted to an array in this case.https://gitlab.entropy.cc/blacklight-cms/core/-/issues/27Configurable Module Loader actions2020-10-07T14:02:50ZCaleb WeeksConfigurable Module Loader actions# Current Behavior
The module loading actions have to be defined in blacklight-core.
# New Behavior
Allow individual modules a mechanism for plugging in to the module loading process. This will require some sort of module pre processi...# Current Behavior
The module loading actions have to be defined in blacklight-core.
# New Behavior
Allow individual modules a mechanism for plugging in to the module loading process. This will require some sort of module pre processing to identify ones that care about module loading.
# Implementation
Any module can define that it is interested in the module loading processing by creating a file called `module-loader.js` under `apps`.
```
- apps
- module-loader.js
```
This JS file is expected to export an Array of Object, with each Object providing the following properties:
- **pattern _(String)_** : Required. This is that pattern that will be matched against files / directories under the `/apps` directory for each module
- **process _(Function)_** : Required. The function that will be run for each module that matches the given `pattern`. Cannot be asynchronous. Function definition must match the following
- `process(site, module, path)`
- ### Arguments
- **site _(String)_** : The site id the matching module belongs to
- **module _(String)_** : The module id of the matching module
- **path _(String)_** : The full path to the file or directory that matched the `pattern`
- ### Return
- **_(Any)_** : Any truthy returned value will be stored in the global BL object. See `globalProperty` for further details.
- **globalProperty _(String)_** : Required. The key where the results of the `process` function should be stored for each module. Truthy values returned from the `process` function will be stored in global.bl.`globalProperty`.`site`.`module`. If `globalProperty` conflicts with an already existing property an Error will be thrown.
Any module defined module-loaders will be run after the default internal module loader actions.
The current GraphQL and Queue loading should be moved out to separate modules: blacklight.graphql and blacklight.queues, respectively.https://gitlab.entropy.cc/blacklight-cms/core/-/issues/29Investigate options for handling writes to closed responses2020-10-07T14:02:52ZCaleb WeeksInvestigate options for handling writes to closed responses# Current Behaviour
BL puts timeouts on routes and model processors and correctly sends an error back, but it does nothing to either stop the execution of the function that timeout or gracefully handle if that timedout function tries to ...# Current Behaviour
BL puts timeouts on routes and model processors and correctly sends an error back, but it does nothing to either stop the execution of the function that timeout or gracefully handle if that timedout function tries to send something on the already committed and ended response. It's left up to the implementer to check if the response is still open, which is an often overlooked step in the dev process.
# Task
Evaluate whether anything can be done at the core level to catch and gracefully these errors.
Some possible options:
* Error handling hooking in the express API?
* Overwriting the writing functions on the response when the response is committed.https://gitlab.entropy.cc/blacklight-cms/core/-/issues/30Build Elastalert Gitlab Issues alert plugin2020-10-07T14:02:54ZCaleb WeeksBuild Elastalert Gitlab Issues alert pluginTool to allow Elastalert to automatically create issues in a Gitlab project.
Likely will be a new Gitlab project, but setting up the initial ticket here.Tool to allow Elastalert to automatically create issues in a Gitlab project.
Likely will be a new Gitlab project, but setting up the initial ticket here.https://gitlab.entropy.cc/blacklight-cms/core/-/issues/39Default BL middleware behavior for POSTs2020-12-14T20:06:39ZCaleb WeeksDefault BL middleware behavior for POSTs**Current Behavior**
BL will do a GET request on the path requested concatted with `_jcr_content.infinity.json`. This works for GET requests just fine, but doesn't work well for non-GET requests. In these cases we should either:
1. J...**Current Behavior**
BL will do a GET request on the path requested concatted with `_jcr_content.infinity.json`. This works for GET requests just fine, but doesn't work well for non-GET requests. In these cases we should either:
1. Just proxy the request to sling (which would really only be an option for POST requests right now)
2. Immediately return an error of some kind. This becomes problematic if BL is in front of Sling and there are POSTs that we'd like to get back to Sling.Caleb WeeksCaleb Weekshttps://gitlab.entropy.cc/blacklight-cms/core/-/issues/40Fix global vhost lookup array2021-03-25T17:25:01ZCory BryantFix global vhost lookup arrayVhost array should use `hostname` instead of an object.
Make sure to update BL.edit's use of the array.Vhost array should use `hostname` instead of an object.
Make sure to update BL.edit's use of the array.https://gitlab.entropy.cc/blacklight-cms/core/-/issues/41Add eslint and code quality2021-07-20T10:35:53ZCory BryantAdd eslint and code qualityCory BryantCory Bryanthttps://gitlab.entropy.cc/blacklight-cms/core/-/issues/42[Img-opt] Error when last modified date doesn't exist2021-07-08T18:07:37ZCory Bryant[Img-opt] Error when last modified date doesn't existCory BryantCory Bryant