Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SAK-45827 - gradebook classic jsf upgrade #20

Open
wants to merge 3 commits into
base: 21.x
Choose a base branch
from

Conversation

maurercw
Copy link
Contributor

No description provided.

Remove the SpreadsheetUITag stuff and manually build the table
Change some of the date/time formatting pieces
@maurercw
Copy link
Contributor Author

maurercw commented Feb 1, 2022

If/when this ever gets merged, some points of emphasis for testing:

  • Everywhere dates and times are used for display, as well as date pickers. Formats and timezones especially.
  • All Grades tab - this table got a massive overhaul and I'm hopeful that it works. Sorting is a bit wonky from time to time, especially if you have empty values. Not really sure what the story is with that.

@maurercw maurercw marked this pull request as ready for review February 1, 2022 03:22
@ottenhoff
Copy link
Contributor

IS someone willing to test this? It looks like a lot of effort! We don't use GB Classic much at all but this change looks solid .....

@ottenhoff
Copy link
Contributor

@austin48 are you willing to test this? You seem to be the only one still running gb1

@austin48
Copy link
Contributor

@ottenhoff , Yes I can take a look at it. It's quite a big change, so it could take some time. We have some customizations to the All Grades tab, so I'll have to see if this affects our changes.

Also, the JIRA number doesn't seem to match the title.

@maurercw
Copy link
Contributor Author

Well, dang, did I do all those commits under the wrong jira? Should be SAK-45872

@austin48
Copy link
Contributor

@ottenhoff and @maurercw, I just realized that this patch only applies to Sakai 22+. (haha, after I tried applying but failed to compile this patch for our Sakai 21.x instance, I think, due to errors on methods not supported in 21).

I can try testing on a "vanilla" 22 instance, but it will be a bummer that I won't be able to test with our customizations for a while (I'm not scheduled to start upgrading to 22 until early 2023).

@maurercw
Copy link
Contributor Author

maurercw commented May 24, 2022 via email

@austin48
Copy link
Contributor

austin48 commented May 24, 2022

i'm seeing compile errors on 21.x like

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sakai-gradebook-app-ui: Compilation failure: Compilation failure: 
[ERROR] /sakai-src/gradebook1/app/ui/src/java/org/sakaiproject/tool/gradebook/ui/RosterBean.java:[578,45] cannot find symbol
[ERROR]   symbol:   method getELContext()
[ERROR]   location: variable facesContext of type javax.faces.context.FacesContext
[ERROR] /sakai-src/gradebook1/app/ui/src/java/org/sakaiproject/tool/gradebook/ui/RosterBean.java:[577,53] cannot find symbol
[ERROR]   symbol:   method getExpressionFactory()
[INFO] Could not resolve module specifier "rollup-plugin-node-resolve"
[ERROR]   location: class javax.faces.application.Application
[INFO] Could not resolve module specifier "rollup-plugin-commonjs"
[ERROR] /sakai-src/gradebook1/app/ui/src/java/org/sakaiproject/tool/gradebook/ui/RosterBean.java:[584,45] cannot find symbol
[ERROR]   symbol:   method getELContext()
[ERROR]   location: variable facesContext of type javax.faces.context.FacesContext
[ERROR] /sakai-src/gradebook1/app/ui/src/java/org/sakaiproject/tool/gradebook/ui/RosterBean.java:[583,53] cannot find symbol
[ERROR]   symbol:   method getExpressionFactory()
[ERROR]   location: class javax.faces.application.Application
[ERROR] /sakai-src/gradebook1/app/ui/src/java/org/sakaiproject/tool/gradebook/ui/RosterBean.java:[612,33] cannot find symbol
[ERROR]   symbol:   method setValueExpression(java.lang.String,javax.el.ValueExpression)
[ERROR]   location: variable dynamicDataTable of type org.apache.myfaces.component.html.ext.HtmlDataTable
[ERROR] /sakai-src/gradebook1/app/ui/src/java/org/sakaiproject/tool/gradebook/ui/RosterBean.java:[651,21] cannot find symbol
[ERROR]   symbol:   method setValueExpression(java.lang.String,javax.el.ValueExpression)
[ERROR]   location: variable link of type javax.faces.component.html.HtmlCommandLink
[ERROR] /sakai-src/gradebook1/app/ui/src/java/org/sakaiproject/tool/gradebook/ui/RosterBean.java:[653,21] cannot find symbol
[ERROR]   symbol:   method setActionExpression(javax.el.MethodExpression)
[ERROR]   location: variable link of type javax.faces.component.html.HtmlCommandLink
[ERROR] /sakai-src/gradebook1/app/ui/src/java/org/sakaiproject/tool/gradebook/ui/RosterBean.java:[685,23] cannot find symbol
[ERROR]   symbol:   method setValueExpression(java.lang.String,javax.el.ValueExpression)
[ERROR]   location: variable output of type javax.faces.component.html.HtmlOutputText
[ERROR] -> [Help 1]
[ERROR] 

or did I not apply the patches correctly?

@austin48
Copy link
Contributor

I think the errors I mentioned above are due to our custom code in gradebook1. I can't reproduce the error when compiling a "vanilla" version of the gradebook1 21.x branch with this patch into our custom Sakai 21.x. Short of removing our custom code piece by piece (I tried removing a few places in our custom code that looked like it was using jsf faces context) until I find the problem, anyone have any guesses?

@austin48
Copy link
Contributor

I fixed our build error, sort of... There was a custom dependency that I think was no longer being used, but I don't know why it would make this fail (maybe it used an older version of jsf?) so I commented it out and the build completed. However, now on start up, I'm getting many errors like:

27-May-2022 13:47:24.329 ERROR [main] org.apache.commons.digester.Digester.error Parse Error at line 2 column 14: Document is invalid: no grammar found.
org.xml.sax.SAXParseException; systemId: jar:file:/tomcat/webapps/sakai-gradebook-tool/WEB-INF/lib/weld-servlet-shaded-3.1.3.Final.jar!/META-INF/faces-config.xml; lineNumber: 2; columnNumber: 14; Document is invalid: no grammar found.

27-May-2022 13:47:24.331 ERROR [main] org.apache.commons.digester.Digester.error Parse Error at line 2 column 14: Document root element "faces-config", must match DOCTYPE root "null".
org.xml.sax.SAXParseException; systemId: jar:file:/tomcat/webapps/sakai-gradebook-tool/WEB-INF/lib/weld-servlet-shaded-3.1.3.Final.jar!/META-INF/faces-config.xml; lineNumber: 2; columnNumber: 14; Document root element "faces-config", must match DOCTYPE root "null".

It looks like this PR's patch contains many changes to faces-config's xmlns. Again, it works fine on a vanilla Sakai install, but there must be more incompatibilities with our custom code... maybe more dependencies that use old JSF? do we also have to update those dependencies to use jsf2? I'd hate to keep playing whack-a-mole trying to merge this patch into our custom code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants