ccali / a2jauthor Goto Github PK
View Code? Open in Web Editor NEWCALI A2JAuthor document automation authoring and viewing platform
Home Page: https://www.a2jauthor.org
License: Other
CALI A2JAuthor document automation authoring and viewing platform
Home Page: https://www.a2jauthor.org
License: Other
If you change the name of the page listed as the Starting Point, the Preview function results in a 'page does not exist' error. Further, publishing the interview to LHI and attempting to run it also results in a 'page does not exist' error.
Likewise, changing the name of a page listed as the Exit Point will result in a 'page does not exist' error when clicking the SAVE AND EXIT button, both in Preview mode and on LHI.
Tested on staging v 6.0 2020-07-29, but also happens in production v 6.0 2020-05-11.
Buttons on variables tab are cut off - related to 44 pixel increase for button styles overall
Name field is significantly larger than type and comment fields.
Styles different for Preview.js than for viewer (grass missing, step 2 bubble huge, missing step 4 bubble)
In text templates, list for variables is overlapping with other text.
needs to check for button before button.next
When using Clone button in Pages tab to create a duplicate copy of a question, it clones the page name (and appends a "2"/"3", etc) to the clone to differentiate it for the question naming purposes.
It also clones the fields and the variables associated with those fields. Including repeat status.
Does not clone buttons. So if author wants to clone a question with 3 buttons, in the clone only one button is there.
Should clone everything the author adds to the questions- fields, learn mores, pop up links, and buttons. Probably logic too.
docker scripts for a2jauthor dev environment need to be restored from the a2jdat repo.
The page list width is either too large or too small based on the col-* class name given to it. Currently assigned a safer class of col-md-3
for the pages lists and col-md-9
for the mapper-canvas, we should figure out a better way to have the pages-list respond to screen size. (see attached pic for what happens when the page list only has col-md-2
class assigned.
As per Alexandra's presentation: The idea to grab the low hanging fruit of non-fillable pdf docs that are not automated yet, and make a state neutral set of starter templates with markers for custom content that states would fill in. The ideal would be to 'meta' the ability to get a source answer file from the state that would fill in that custom content for them and generate the now Automated GI that would then be consumed via the A2J Viewer to get the automated document.
@JessicaFrank viability of this? The same tool could be used for the translation tool as well.
Anytime a tab on the vertical-navbar is selected and leave one tab for another, it should fire a save on any open guide and then switch the tabs, ideally with a spinner showing saving.
During a save of the legacy global window.gGuide
file, there is a custom listener that update the appState level guide
map for canjs. That listener actually replaces the map, which causes any stache files that do something like {{#if(this.guide)}}
to re-render. Up until now, that has not cause an issue for the end user, but it is the root cause of the Mapper to go blank on auto-cleanup as per this issue: #59.
The long term fix is to change the canjs guide
update to not replace the whole guide, but just update the property values. This code update will do it, but needs solid QA testing to make sure the global gGuide and canjs guide map stay in sync.
// when window.gGuide is saved to the server successfully,
// sync the map reference in the appState.
$authorApp.on('author:guide-updated', function () {
// this is work around for binding error in can-map
const gGuideMapData = {}
Object.keys(window.gGuide).forEach((key) => {
gGuideMapData[key] = window.gGuide[key]
})
// update current CanMap with global gGuide state
// 2nd param `true` removes props not in gGuideMapData from appState.guide
appState.attr('guide').attr(gGuideMapData, true)
})
the above replaces these code lines:
a2jauthor/src/utils/bind-custom-events.js
Lines 71 to 81 in 9a1bd3a
Auto clean up map of larger interviews works, but doesn't "stick" when you save and go to another tab or another interview.
A random assortment of pages gets out of order - often ending up very far to the right of the screen.
Seems to be some correlation to oddly numbered (ex. 900e) or named pages ([INACTIVE] 1.1).
These same pages are also being cut off in the list of pages and aren't displaying at all.
Doesn't seem to happen in newly created interviews, but those are generally also much smaller in size than the interviews where this is manifesting.
Need to integrate the new mapper component into a2jauthor.
I am updating the Help sections on the website. I wanted to make sure the links within the authoring tool were going to the places I was updating. They aren't. They go to author.a2jauthor.org
For example, clicking the Help Button on the About Tab within A2J 5.0 takes you to http://author.a2jauthor.org/csh5/About
not http://www.a2jauthor.org/csh5/About
Does it matter?
Eventually all CanMaps should be converted to DefineMap, but it's nice to at least have the app-state level model be easier to work with.
Should be able to import the stand-alone viewer top level component into Author as the preview tool.
Author request to add a final destination option that would display to the end user a warning that they need to close their browser window.
Use case: Interview is not intended to produce a document, just triage the user or provide information alone. Last screen isn't intended to "Submit" or "Assemble" and none of our current destinations fit. Closest is [Exit - User Doesn't Qualify] which pops up a warning for user to close browser if no forwarding URL Is included by the author. However, that warning tells the user they don't qualify to use this A2J Guided Interview, which wouldn't work for desired scenario.
Suggestion - add an addition destination option to buttons called [Exit - Display Message]
It won't close the user's browser window, won't post, and won't redirect anywhere. Instead it'll display a default message that says "You have completed this A2J Guided Interview. Please close your browser window to exit."
Also if this option is selected by author, provide author with an additional field in buttons section to add a custom display message. Similar to the interaction that happens with default warning for required questions, but provided field for overriding default language.
In 4.0, you could create a pop up on the fly within the question design window (when you clicked the P you could create new popup and attach it to a word/section of a question).
In 5.0, you have to create the pop up first in the pages tab, then associate it with a question in the question design window. This isn't an intuitive workflow for authors.
Names of pages cut off when testing Map with 1920x1080 resolution laptop monitor at 100%
At 90%, the page names appear and they appear when on larger external monitor.
Should give the left panel a bit more room. @mikemitchel suggested 3:9 split instead of current 2:10 split of screen.
The Mapper tool has an issue where the jointjs package 'blocks' the UI, preventing the loading component from showing until the last split second. Add an 'overlay' option that will appear similar to a modal, over the top of the locked UI to show the 'loading' message.
@johnmayer posted this in the a2jbitovi slack panel
https://github.com/smucclaw/complaw/tree/master/doc/ex-xmp-20200808
Makes sense to me that for any PDF that A2J produces, that we include structured metadata inside the Word and PDF docs. Might be super useful in the future - if we want to re-import the data later. Could also include things like the version of A2J Author that generated the document and maybe the A2J Author GI ID that generated it.
distance to CAJA_WS.php has changed from 4 to 2, so this line needs an update:
Line 657 in fb16179
Author reported variable of [Employer] in variables tab showing 15 'used by' places. When looking at those used by references, the word Employer is there, but not a variable.
Talked with @mikemitchel and he thinks this may have been an old variable that was added to the variables dictionary in the code and when the variable was deleted, it wasn't deleted from this dictionary. So the 'Used by' code is looking in there and giving erroneous used by values.
[Employer] variable can be found in this interview:
TEST - Employment discrimination complaint - IDHR (1).zip
Reported by Steve Simon working on ILAO interview
Most of the shared a2jdeps/pdf folder is used for editing in a2jauthor, and only the assemble
module is really shared between a2jauthor and a2jdat - need to refine what stays in a2jauthor, and what should live in the shared a2jdeps (most likely just the assemble.js file and it's tests)
new interview - all the questions aren't auto cleaned up. They overlap each other and author has to click "Auto Cleanup" button. Default blank interview should come cleaned up already.
Zoom to width cuts off final step in the map. No bottom scroll bar given, so can't actually move over to see it.
When adding new page via "add" button in pages list on Map, new page is dropped to bottom of the screen. Need to resize screen when a new page is added so that it can be easily seen by author.
Auto clean up doesn't persist. This was seen in a GI from production that was uploaded to hydra for purposes of testing map.
Should get automated Travis test runner working for a2jauthor, a2jviewer, a2jdat, & a2jdeps for branches and PRs. This repo has a .travis.yml
we can use as a template
The standalone viewer looks fine, but when used as the preview app for author, some styles are either not being imported, being imported in the wrong order, or have different selector targets. Need to resolve those issues, and clean up the Author 'styles' folder to reduce style 'noise'.
side note: does not seem to affect any functionality in preview, just styling.
This README contains older info for the mono repo found at CCALI/CAJA, but should be updated to reflect the singular /a2jauthor repo.
correct url is now a2j.org not www.a2j.org. www will receive a 302 which breaks upload. Future change should consider using lib that follows redirect.
No sample value field on field type: Number Phone
For branding and continuity, the plan is to make the separate repo/apps start with version 7.0.0 I think it would still be nice to add the date for quick reference when working with folks who self host. We can rewrite the npm release
script to assemble a version name like:
A2J Author 7.0.1 - 2020-05-15
Blank GI with new pages added or changed steps doesn't immediately show up in Map
Steps to replicate:
Create new GI
Go to Map, see 4 default questions there (3 in Step 0, 1 in Step 1)
Go to Pages tab, make a couple new pages
Add one of the new pages to a different step
Go back to the Map. New pages aren't shown.
Go back to Pages tab and force a Save or open Preview. Then pages show.
templates only allow the display of whole lists not any type of indexing. Requested use case
set the first field to print on the PDF template and then the others on a different page.
e.g.
page 1 loopname [1] looplastname [1]
page 2 loopname [2] looplastname [2]
In splitting the A2J mono repo into it's separate apps, it was easier to have a flat folder structure. Now that things are working, we should move components into a src
directory to make the root folder cleaner as per @tobiasnteireho suggestion. Should also do this for CCALI/A2JViewer and CCALI/A2JDAT
This is mostly a feature for me and other advanced authors with multiple old or test interviews.
Add the ability to bulk delete interviews from the interviews tab.
Add an "are you sure" warning before permanent delete.
Adding a quote inside the alt-text for graphic field results in a broken learn more. Image won't display at all.
Ex. used "quote" as the alt-text
This error also results in the interview basically breaking all together. When you go back to "Edit this" preview mode and authoring mode are overlapped. Requires a refresh of the page to clear the issue.
Will at NKU changed the name of his starting page, but it didn't update it for the Starting point under Steps tab. Start and Exit point, if set, should auto update when Page Editor changes the name without the Author having to go into Steps Tab and reselect it.
Author and Viewer share the footer component currently, but as one of the functions provided by the footer is showing the current version, they should each have their own. It's also not unlikely that they would diverge in the future, so no point sharing that code via a2jdeps.
The styles dependency is causing too many issues across the separate repos/apps. Moving them back to local files in a2jauthor, a2jviewer, and a2jdeps, as well as any and all shared images. This will allow for easier trouble shooting in the short term, and also the ability to trim them down in each local repo/app to what that particular app needs. Will copy this issue to CCALI/a2jdeps and CCALI/A2JViewer
Should allow a User to collapse the steps, and have a cleaner interface, almost like a mini toolbar for the add button
Need to remove old traces of jshint configs, and setup standardjs + possibly an eslintrc config file so that linting works natively after a normal npm install
without and global install requirements
Destination of page = [Unknown id [null]: [null]
Likely user changed name of page and it didn't update properly in the interview.
Leads to a weird map experience though. Results in a line that goes off to the top left corner and author can't drag/reposition to see where it leads. Looks like there's more to the map than is being shown. In reality, the unknown page is leading to literally nowhere.
If the destination is "nowhere" the button color is gray. Perhaps "unknown" destinations should get this treatment as well. Or a visual clue to the author that their button is set to go somewhere it can't possibly go.
If an end user hits that button, they are going to get an error within the interview and won't be able to move on.
In production v 6.0 2020-05-11, adding a new page will use the last selected page's name as a starting point. For example, If page "1-Intro" was the last page selected, a new page's default name will be "1-Intro 1".
In staging v 6.0 2020-07-29, any new page will simply be named "New Page [X]".
The existing functionality is helpful and should be retained for a couple reasons:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.