uportal-attic / uportal-home Goto Github PK
View Code? Open in Web Editor NEWAlternative UI for Apereo uPortal (originally built for MyUW)
Home Page: http://uportal-project.github.io/uportal-home/
License: Apache License 2.0
Alternative UI for Apereo uPortal (originally built for MyUW)
Home Page: http://uportal-project.github.io/uportal-home/
License: Apache License 2.0
I'm creating This issue to notify any developers currently working on this repository that I'm working on a wide-reaching pull request to fix lint errors. This will touch most of the controllers, directives and services within the repository, and cause merge conflicts with any concurrent work.
(Hopefully you're not in the middle of anything @ChristianMurphy!)
When running the lint scripts I've been noticing they run unusually slow ~20 seconds on a development machine, longer on CI.
I did some digging, it appears to come from eslint-plugin-json
.
So far that plugin has not detected any warnings, and removing the plugin takes the full eslint run time down to ~2 seconds on my development machine.
This plugin may be worth removing for the lint time speedup.
We should migrate to the new rest-proxy service and get rid of json-proxy-service
Change the search configuration to be generic so you can have n search result sections of various formats.
Braindump from UWSP convo.
{
"group" : "UWRF",
"searches" : [
{
"title" : "wisc.edu",
"url" : "https://google.com/custom/search/url/that/i/donot/know",
"searchFormat" : {
"title" : "searchitem.title",
"desc" : "searchitem.description",
"link" : "searchitem.googleurl"
}
}
]
}
I see a bunch of these...
'SERVICE_LOC': {
'aboutURL': '/portal/api/session.json',
'sessionInfo': '/portal/api/session.json',
'sidebarInfo': '/web/staticFeeds/sidebar.json',
'newstuffInfo': '/web/staticFeeds/new-stuff.json',
'context': '/portal/',
'base': '/portal/api/',
...
Currently for every commit Coveralls both:
Adds a comment for the commit:
Disabling the comment mechanism could keep PRs easier to read.
/cc @apetro
README
instructions to run with Mock data i.e. mvn clean package && mvn jetty:run
In (3) successfully navigate to app directory.
Hey @UW-Madison-DoIT/uportal-home-committers! π
I'm excited for the moves to official Apereo naming and to an official Apereo repo. π
One thing that could be worth discussing before it is set in stone is the scope package naming convention. π¬
β¨οΈ when typing
@uportal/uportal-home
^^^^^^^^^^^^^^^
this feels awkward to type
@uportal/uportal-app-framework
^^^^^^^^^^^^^^^
same here
I'm wondering if we may want to consider @angular
style scoped naming
Where angular cli is @angular/cli
rather than @angular/angular-cli
.
β‘οΈ Meaning uPortals projects would be packaged as
@uportal/home
@uportal/app-framework
Thoughts? π
Angular js portal is leveraging NPM and SemVer.
This combination opens up the opportunity for a lot of tooling that can help support managing depedencies.
Tools like David-DM, Depenency CI, etc. Offer passive assistance, giving a highlight of when potential upgrades or fixes are needed.
Tooling could alternatively take a more active approach.
Greenkeeper could be added to a repository to automatically open Pull Requests when upgrades to libraries happen.
It can even retest the repository after a version has been updated, and update shrinkwrap/lock files automatically.
Thoughts? π
When a mascot announcement references a widget that doesn't actually exist, there's no error acknowledgement when the user tries to add the nonexistent widget to their home.
Given:
fname
fname
not actually map to anything (no portlet-definition
with that fname
Then:
What should have happened:
Nonetheless: kudos on this already failing kind of gracefully. The page successfully renders, it doesn't fail out into the JavaScript console. It could fail gracelessly, rather than just silently. It's this graceful because developers are taking care.
Branch | Build failing π¨ |
---|---|
Dependency | eslint |
Current Version | 4.15.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
.eslintrc.*
(fixes #9535) (#9847) (Kevin Partington)The new version differs by 22 commits.
33ca1ea
4.16.0
1a9ddee
Build: changelog update for 4.16.0
e26a25f
Update: allow continue instead of if wrap in guard-for-in (fixes #7567) (#9796)
af043eb
Update: Add NewExpression support to comma-style (#9591)
4f898c7
Build: Fix JSDoc syntax errors (#9813)
13bcf3c
Fix: Removing curly quotes in no-eq-null report message (#9852)
b96fb31
Docs: configuration hierarchy for CLIEngine options (fixes #9526) (#9855)
8ccbdda
Docs: Clarify that -c configs merge with .eslintrc.*
(fixes #9535) (#9847)
978574f
Docs: Fix examples for no-useless-escape (#9853)
cd5681d
Chore: Deactivate consistent-docs-url in internal rules folder (#9815)
2e87ddd
Docs: Sync messageId examples' style with other examples (#9816)
1d61930
Update: use doctrine range information in valid-jsdoc (#9831)
133336e
Update: fix indent behavior on template literal arguments (fixes #9061) (#9820)
ea1b15d
Fix: avoid crashing on malformed configuration comments (fixes #9373) (#9819)
add1e70
Update: fix indent bug on comments in ternary expressions (fixes #9729) (#9818)
There are 22 commits in total.
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
I cloned down the project
copied the endpoint.properties.example to endpoint.properties
Ran mvn clean package
Get this error:
INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] angularjs-portal ................................... SUCCESS [ 0.135 s]
[INFO] angularjs-portal-home .............................. FAILURE [ 8.187 s]
[INFO] Mock Portal ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8.432 s
[INFO] Finished at: 2015-11-25T12:24:13-06:00
[INFO] Final Memory: 8M/245M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project angularjs-portal-home: Could not resolve dependencies for project edu.wisc.my.portal.angular:angularjs-portal-home:war:4.2.1.2-SNAPSHOT: Could not find artifact edu.wisc.my.apps:uw-frame:war:1.3.4-SNAPSHOT in internal (http://code.ku.edu:8082/archiva/repository/internal/) -> [Help 1]
Branch | Build failing π¨ |
---|---|
Dependency | jasmine-core |
Current Version | 2.9.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
jasmine-core is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
Please see the release notes
The new version differs by 2 commits.
70bce55
Bump version to 2.9.1
53529bd
Clear timeouts when starting to process a milli instead of at the end
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Idea: Make hosted rest-proxy a feature of the MyUW frame-based app hosting platform.
Bigger picture: enabling frame-based applications where the part running "in MyUW' is entirely
and is not any application-specific code running server-side "in MyUW'.
So instead of a frame-based app providing an instance of a rest-proxy
, it provides a JSON
file fulfilling a semantically versioned configuration API. MyUW the hosting platform reads that configuration file associated with the frame-based app and provides a platform-provided instance of rest-proxy
fulfilling the configuration.
(The proxy would typically proxy to a back-end running elsewhere, in Shared Hosting or otherwise).
A similar idea for platform-provided KeyValueStore
-as-a-service.
The modules running "in MyUW" get less individually custom, more supportable, simpler. They're just static resources to be served to the client and configuration, no server-side custom code.
Something is goofy about our code coverage computation, as evidenced by PR #630 's documentation change bumping code coverage by 2+%.
Credit to @davidmsibley for noticing.
Update documentation to recommend, prefer using material icons rather than font-awesome icons, documenting just how to do so.
Currently it looks like Travis only builds for commits made on the main repository.
Travis CI can also build for each PR opened on the repository.
Pros of change:
External contributions are run through CI.
Cons of change:
PRs from internal branches would be built twice.
Thoughts? π
To hit WCAG 2.0 A 2.1.1 we'd like to enable the user to reorder their layout via keyboard.
@UW-Madison-DoIT/uportal-home-committers
Within the next two weeks, uw-frame and angularjs-portal will be changing names to uPortal-app-framework and uPortal-home as part of our Apereo incubation process.
This will include:
changing the maven groupId and artifactId
moving the repository location to within the uPortal-Project organization in GitHub
As a developer, you may need to:
update your git remote if you have these projects cloned locally
update maven dependency information in your project's pom.xml
You'll receive more detailed information as we work through the process. If you have any questions or concerns about whether this affects you or how to update your project, please feel free to respond to this issue or email the myuw-infra team at [email protected] the uPortal-home committers at uportal-dev@
.
Thanks!
Branch | Build failing π¨ |
---|---|
Dependency | eslint-plugin-angular |
Current Version | 3.1.1 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
eslint-plugin-angular is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 19 commits.
cd58df1
Merge pull request #527 from Gillespie59/development
ee0ae86
Merge branch 'master' into development
5f94b70
Remove --fix for tules
e92e5ff
Update to 3.2.0
7b2c749
Update dependencies
24c45e8
Solve unit test
a45d407
Merge pull request #518 from joelchoo/master
7a36d61
Merge pull request #520 from Gillespie59/greenkeeper/gulp-mocha-5.0.0
0b2a11f
Merge pull request #522 from Gillespie59/greenkeeper/gulp-eslint-4.0.1
8d27c82
Merge pull request #524 from Gillespie59/greenkeeper/shelljs-0.8.0
2e1a52b
Merge pull request #523 from Arcanemagus/rule-docs-url
5ea66c3
chore(package): update shelljs to version 0.8.0
b07c974
Add URL to rule documentation to the metadata
b513875
chore(package): update gulp-eslint to version 4.0.1
cf73d9c
chore(package): update gulp-mocha to version 5.0.0
There are 19 commits in total.
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
π¨ You need to enable Continuous Integration on all branches of this repository. π¨
To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because we are using your CI build statuses to figure out when to notify you about breaking changes.
Since we did not receive a CI status on the greenkeeper/initial
branch, we assume that you still need to configure it.
If you have already set up a CI for this repository, you might need to check your configuration. Make sure it will run on all new branches. If you donβt want it to run on every branch, you can whitelist branches starting with greenkeeper/
.
We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.
Once you have installed CI on this repository, youβll need to re-trigger Greenkeeperβs initial Pull Request. To do this, please delete the greenkeeper/initial
branch in this repository, and then remove and re-add this repository to the Greenkeeper integrationβs white list on Github. You'll find this list on your repo or organiszationβs settings page, under Installed GitHub Apps.
Branch | Build failing π¨ |
---|---|
Dependency | greenkeeper-lockfile |
Current Version | 1.12.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
greenkeeper-lockfile is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
We need to update build master to incorporate the new override.js
workflow.
I think it auto-updated for app-framework, here it's still calling itself uPortal-Project/angularjs-portal
I may have tried renaming the repo too soon after transferring ownership? I'm not sure how to get it to rename itself.
Set up an automated process for running pa11y on the project
Locally backlogged within MyUW Scrum as MUMMNG-4056.
I just want to note all the little things that I'm constantly tripping over while running releases, so I can remember them next time, or we alleviate them.
The License Plugin picks up on files that are .gitignore'd, like endpoint.properties
or src/main/webapps/META-INF/context.xml
so basically you need a completely clean checkout for it to work.
The NOTICE file plugin will fail you if you don't have two empty lines at the end of your notice file.
Since the commitmsg hooks will fail a maven release, you need to remove the commitmsg line from package.json, then run mvn -DcheckModificationExcludeList=package.json release:prepare
Branch | Build failing π¨ |
---|---|
Dependency | lint-staged |
Current Version | 6.0.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
lint-staged is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
The new version differs by 15 commits.
e48402e
refactor: Do not pass redundant param for searchPath
2d8981b
chore(package): update lockfile
80596c3
fix(package): update cosmiconfig to version 4.0.0
8baab8c
docs: Update inconsistent docs for filtering files (#374)
237d3f6
chore(package): upgrade to jest 22 (#367)
4cd6aef
ci(travis): Update semantic-release
config (#371)
8e3545c
test: Use expect.assertions()
to test async codes (#377)
e39d1de
ci: Cache dependencies (#378)
a845bb2
chore(scripts): replace npm run
with yarn
(#370)
aeb4dfb
chore: commit yarn.lock
(#368)
3340357
chore(package): update prettier to version 1.9.2 (#359)
29c3715
chore(package): Update prettier to version 1.9.1 (#354)
f0c4686
chore(package): Update prettier to version 1.9.0 (#353)
cf87b61
docs(README): Add link to releases for changelog (#349)
023ad73
chore(github): Add issue template (#351)
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
We should improve test coverage someday.
In the meantime, Coveralls delivering red Xs to pull requests is demoralizing and distracting without being helpful.
Therefore reconfigured Coveralls with cartoonishly low standards about test coverage. Should always pass. We still get the automatic calc, we can choose to engage with test coverage any time we want, but we stop with the annoyance in the meantime.
(Logged as GitHub issue for transparency.)
If the "see more" fields aren't filled in, they shouldn't show up in the results. If no results are there at all, the "see more" button should hide.
new project wants to point to https://coveralls.io/github/uPortal-Project/uportal-home?branch=master
uPortal has an "App Launcher" portlet, typically configured with a title, icon, target URL, ... . There's a nice conceptual mapping to be had to an equivalent widget. Add sugar, support so that AppLauncher portlet-definitions
are treated as link widgets when displayed in uPortal-home
.
This might be an opportunity to refactor to use the AppLauncher configuration idioms so that these things are less different and more interchangeable.
It would be better if
master
automatically yielded a suitably versioned releaseThis ought to be possible with discipline, in that
Let's spend none of our time manually running releases and more of our time composing changes worthy of release.
the commit messages generated by the maven release plugin, cause the conventional commit check on commit messages to fail.
In order to release currently, the hook needs to be removed, then the release happens, then the hook is readded.
This is both frustrating and causes unneeded churn.
Some possible solutions:
one of our badges points to https://ci.appveyor.com/project/ChristianMurphy/angularjs-portal-npp5x/branch/master
Is this still useful? does it need to move due to the repo move?
Branch | Build failing π¨ |
---|---|
Dependency | jasmine-core |
Current Version | 2.8.0 |
Type | devDependency |
This version is covered by your current version range and after updating it in your project the build failed.
jasmine-core is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.
Please see the release notes
The new version differs by 61 commits.
c82e594
Version bump to 2.9.0
f76b452
Correctly check for Symbols, not Sets in AnythingSpec
91aab8e
Merge branch 'Volox-ie11-sets-support'
486a646
Added complete support for Set also for IE11.
1dfdc89
Merge branch 'ie11-maps-support' of https://github.com/Volox/jasmine into Volox-ie11-maps-support
085a1f8
Added complete support for Map also for IE11.
aeeb5b7
Bumped copyright dates
cb6de64
Fixed DelayedFunctionScheduler IE 8 compatibility issue
f69949e
Merge branch 'fix-1426' of https://github.com/leahciMic/jasmine
1136fdd
Remove .sort() and fix logic in test
b943f6b
Fixed SPEC HAS NO EXPECTATIONS warning in HTML reporter
b439e2f
Extracted results state management out of the HTML reporter
c79ce12
Merge branch 'node-timeouts' of https://github.com/chris--young/jasmine
62b815c
Use timeout objects when in node
65b4499
In Jasmine's own tests, don't leak between jasmine and jasmineUnderTest
There are 61 commits in total.
See the full diff
There is a collection of frequently asked questions. If those donβt help, you can always ask the humans behind Greenkeeper.
Your Greenkeeper Bot π΄
Related to "Citizens for a better uPortal tomorrow" and UP-4745.
Static analysis and linters are a great way to detect code smells and errors before releasing code.
Apereo uPortal has been moving over to validating code with the Google code style, angularjs-uportal and uw-frame could also benefit from the lint checking goodness.
Most of the languages used in this project have linters.
If there is interest I could put together a Pull Request to setup some static analysis tooling.
For Java Checkstyle configured with Google code style is a reliable linter.
For JavaScript ESLint is a great option, it has a Google code style configuration, as well as plugins to better check specific use cases and libraries (Angular, Jasmine, RequireJS, Promise, Browser Compatibility, JavaScript in Markdown, and JSON)
For Less checking Stylelint with a standard config (based off google css style) has been fairly reliable.
For Markdown remark lint with recommended and consistent configuration can produce good results.
For Angular HTML templates HTMLHint can have okay-ish results, angular templates are difficult to lint properly.
uPortal-home should
Hey @UW-Madison-DoIT/uportal-home-committers π
Looking at the CI build lately, the CI appears to be consistently taking anywhere from 20 minutes to 2 hours to report back the full build matrix. π’
Each of the individual builds is under 5 minutes and can be run in parallel. π
However the OSX build has a delay before starting due to limited infrastructure availability.
I am very grateful to both Travis CI and Appveyor for providing free infrastructure to open source projects. πββοΈ
And it would be nice to keep MacOS builds around to verify that cross platform support is being maintained π β
, however productivity is also an important concern.
Any thoughts on how to balance cross platform support and still keep the CI turn around time down? π
Some options:
Whereas up to this point uPortal-home
has largely relied upon custom portlet-preference
s exposed via ad-hoc hacks to uPortal
,
now add support for sourcing that configuration from portlet publishing parameters (which are all exposed in the portlet registry JSON without requiring ad-hoc hacks to uPortal
),
so that uPortal adopters can add uPortal-home-supporting metadata to their portlet publications without having to hack uPortal to make these effective.
And then make this the preferred approach, deprecating the hacky support for conveying this stuff via portlet-preferences.
For schools that want to use the campus search and aren't using the latest google search api, an example would help to be able to know what format the code is expecting
As a developer, I would like to configure the color
of the fa-icon in compact mode via the widgetConfig.
Based on convo on https://gitter.im/UW-Madison-DoIT/angularjs-portal?at=57e14adfc8af41d45f2f4cff
Intended to include a "Widget Creator" such that https://public.my.wisc.edu/web/widget-creator would be a thing. But it's broken.
(This public GitHub issue tracker issue shadows MyUW-local MUMUP-2914; this shadowing is a small step toward experimenting with better tracking product issues publicly rather than in private MyUW JIRA.)
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.