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

Show app version in Dashboard #1948

Closed
brent-hoover opened this issue Mar 8, 2017 · 16 comments
Closed

Show app version in Dashboard #1948

brent-hoover opened this issue Mar 8, 2017 · 16 comments
Assignees
Labels
enhancement For issues that describe a feature that needs to be added, changed, or removed, but is not a bug good first issue For issues that a new contributor could likely submit a pull request for without needing much help help wanted For issues that have a clear solution described and are not currently prioritized core team work

Comments

@brent-hoover
Copy link
Collaborator

Once the Avalara PR is merged we will have the Reaction version in the Shops collection. Seems like it would be handy to have this display somewhere in the Dashboard for both us and customers.

@aaronjudd aaronjudd added this to the Next milestone Mar 14, 2017
@aaronjudd aaronjudd removed this from the Next milestone Apr 26, 2017
@brent-hoover brent-hoover added the good first issue For issues that a new contributor could likely submit a pull request for without needing much help label Jan 24, 2018
@aaronjudd aaronjudd added the help wanted For issues that have a clear solution described and are not currently prioritized core team work label Feb 14, 2018
@brent-hoover brent-hoover added the enhancement For issues that describe a feature that needs to be added, changed, or removed, but is not a bug label Feb 14, 2018
@hlowso
Copy link

hlowso commented Mar 27, 2018

Hey there! I'm super new to github but I'd like to try to take on this issue. At the moment I'm just trying to get my bearings in the code and figure out where the dashboard is being generated and how it's getting its data. I'm happy to keep looking around myself but I'd also take any pointers. Cheers!

@brent-hoover
Copy link
Collaborator Author

There is a Reaction.getAppVersion method available and you could just add this as a read-only property in Shop settings.

@aguscha333
Copy link

Hey has anyone taken this? I'd be happy to.

@brent-hoover
Copy link
Collaborator Author

@aguscha333 Sure. That would be great. Let me know if you need any help.

@aguscha333
Copy link

I was able to install the repo but not get it up and running apparently. I've been a long time at it already, don't think it's still worth It to keep trying for such a small contribution

@yellowbrickc
Copy link

Hi @ALL
I see that you have a lot of "help-wanted" issues and I have some time and would like to help. On the other hand I have a few years of ecommerce experience so that I really would like to see this app up-and-running.
I installed and executed everything written in the documentation for react-platform but I'm failing to start the platform due the message "You must set MONGO_URL environment variable.". Even if try to set this (i.e. localhost:27017, mongodb://mongo:27017/reaction and other combinations) I get the message "ERROR: MongoDB not reachable in time.". Can you give me a hint?

@focusaurus
Copy link
Contributor

@yellowbrickc Let's make sure your mongo started. docker-compose -f reaction-platform/reaction/docker-compose.yml logs mongo might have some info on whether it's up or down or has an error, etc. It'll be easier for us to assist with your setup in our gitter chat vs cluttering up this github issue.

@chrispotter chrispotter self-assigned this Mar 28, 2019
@chrispotter
Copy link

I started looking into this issue.

My thought was to add it to the bottom of the sidebar as a universal reference from the admin, kind of how Magento has in their footer... Maybe something like Reaction Commerce© v 2.1.3.4.5rev12

Screen Shot 2019-03-28 at 2 27 40 PM

This would involved adding appVersion to the graphql schema i believe so it's accessible to GraphQL. @aldeed what do you think of that?

@aldeed
Copy link
Contributor

aldeed commented Mar 28, 2019

@chrispotter Thanks for diving in! I have a few random thoughts related to this.

  • It's related to another thing we're hoping to do soon, which is add a health check URL that shows information like this as well as other status info. The health check URL would probably be a direct GET HTTP URL that doesn't go through the GraphQL server, but they could share the same function to build the response object.
  • @zenweasel recently added plugin versions to the shop panel, but it was done quickly using the existing Meteor publications. These would ideally be part of GraphQL query / health check URL version data, too.
  • While we currently version them the same and keep code in the same codebase, there is technically an operator UI (client) version and a core API version that could be different in the future. There's also a data version that is used for migrations, and when we soon rewrite migrations, there will likely be a data version for each plugin rather than just one. So in summary, there are a lot of versions we should display, not just one.

Given the above, I'd vote for a more generic query that can have all this information (even if you only implement parts of it now). Maybe something like:

{
  systemInfo {
    apiVersion
    dataVersion
    mongoDBVersion
    pluginVersions {
      name
      version
    }
  }  
}

Where systemInfo is the query name and the rest are fields of the response.

Then I'd also vote for a full page or a side bar or popup where all of this info can be shown. Brent put plugin versions in the shop settings panel, but I think that was just because we needed a quick place to put them. But I will defer to @rymorgan for how best to display system info in the operator UI. He may have some designs already.

@aldeed
Copy link
Contributor

aldeed commented Mar 28, 2019

Regarding where to put the related server code, the core/core plugin makes sense, but you could alternatively create a new included/system-info plugin for it, which would allow someone to more easily replace it with their own custom plugin. I think I slightly lean toward that approach unless others have feelings either way.

@rymorgan
Copy link
Contributor

rymorgan commented Mar 29, 2019

@aldeed @chrispotter We'll work on a quick mock. I think it should be a link from the bottom of the page on shop settings. It should not be part of the navigation. The navigation is screen real estate we need for more prominent UI elements. The version information only needs to be displayed for select set of users and only when they need to find it.

@cassytaylor
Copy link

@aldeed @chrispotter here are mocks for the solution above - a link on the Shop settings page that launches a modal with the versions information:

reaction-versions
reaction-versions-modal

I removed the Plugin versions expanding card, since that info would display in the modal.

@focusaurus
Copy link
Contributor

@cassytaylor OK for this modal to scroll? Also does it makes sense to list out explicitly the core (27 currently) and included (22 currently) plugins? I believe these will typically all not have separate versions, they're just the same as the main reaction, and given there are so many, best to leave them out. We should probably only list out the custom set of plugins with their individual versions.

@rymorgan
Copy link
Contributor

@focusaurus Yes, agreed only the custom plugins. Don't need the rest.

@aldeed
Copy link
Contributor

aldeed commented Apr 2, 2019

The UI should simply show all plugins that HAVE a version, which is what Brent's UI does now. Core and included plugins don't have their own versions right now, so they won't show. Designs LGTM

@aldeed
Copy link
Contributor

aldeed commented Jul 9, 2019

Done

@aldeed aldeed closed this as completed Jul 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement For issues that describe a feature that needs to be added, changed, or removed, but is not a bug good first issue For issues that a new contributor could likely submit a pull request for without needing much help help wanted For issues that have a clear solution described and are not currently prioritized core team work
Projects
None yet
Development

No branches or pull requests