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

Dashboard Templated Items #2246

Closed
agriffard opened this issue Aug 18, 2018 · 12 comments
Closed

Dashboard Templated Items #2246

agriffard opened this issue Aug 18, 2018 · 12 comments
Labels
Milestone

Comments

@agriffard
Copy link
Member

Idea: Allow to add dashboard items that appear in the /admin page (instead of the Welcome text).

If we allow to use Liquid syntax, people will be able to render many dynamic things.

Ex: A blog exists, then thanks to a recent blog posts query, list the last blog posts created.
Add a quick link to the blog (instead of having an AdminMenu suggested here #2220)

@sebastienros
Copy link
Member

There might already be an issue for it, or at least it was mentioned during a meeting. A simple implementation would be to use any content item as the dashboard page. Like the home page works, but for the admin. This way you can create a flow page and use any widgets. And obviously modules could provide widgets that are dedicated for the dashboard. It might require a custom stereotype or category, but it's already doable very easily.

There might be better ways too, we'll need to brainstorm.

@agriffard
Copy link
Member Author

For example, it would be interesting to add some 'Get started' links panel in the 'welcome admin page' to easily redirect to:

  • Edit your content items
  • Enable new features
  • List content types
  • Manage the settings
    ...

@weedkiller
Copy link

Since it was merged here, I am adding what I listed before for reference, I strongly recommend clicking on the link to get a sample view.. this dynamic dashboard in ASP


Hello, I would like to request a much needed feature to allow developers to build widgets and have a drag drop widget based dashboard. Something like or similar to this dynamic dashboard in ASP

Its been a long wait for something like this.
It would be easy to add charts, graphs, stats, summaries, timelines etc.

Also as @agriffard mentioned, having widgets/component/partialviews/ViewComponents or Orchard Components, provide a quick and easy way to build data, link up the data to UI like, chart, graph, timeline, Rich text Editor, table etc... would make it easier for orchard developers.

Basically allows to build component quicker and easier let the dashboard expose settings, drag drop, role based access etc.

image

image

Thanks

@papyr
Copy link

papyr commented Dec 12, 2019

Hello there, I saw this was being tracked.

Team this is not just for the Admin, we are requesting/talking about Data/Graphical Widgets Content Types for users, managers as well for Front End and logged in users.

It does not seem like the Orchard team is listening or understanding the user/developer requests!

Please allow use to add develop and add widgets to the front end!

@hishamco
Copy link
Member

It does not seem like the Orchard team is listening or understanding the user/developer requests!

Who said that, the team always listening to the feedback, features .. etc, but I'd like you to know there 're some priorities moreover there 're many things may not align the current roadmap, but nothing stop you to implement this yourself, don't forget the project is from community to community

Don't forget even if you develop such module or feature and not shipped in the core project, it could be useful as community project

Thanks

@sebastienros
Copy link
Member

@papyr this is a very interesting scenario, and I have helped several companies implement his with or without Orchard. However there are two things to take into account:

  • every customer wants different features
  • we need to focus on what matters for most users

So right now the front-end feature is not on the roadmap for these two reasons. But OC provides many services that should make it easy to implement to your needs, so I would encourage you to start working on it, and if you can make it public it might also help others use it if that suits their needs.

In the meantime we'll focus on a simpler solution that is targeted towards the admin only.

@papyr
Copy link

papyr commented Dec 15, 2019

@sebastienros thanks for the response. #5021

Can you please at least put up one sample on how to build/develop/achieve a simple data graphical widget. A simple sample, where we can plan to put 6 async widgets on a page, i.e. 2 widgets per row. The learning curve is from the terminology in core not the C# code.

@hishamco Orchard has been around now for quite some time, the traction and adoption of Orchard is fairly low in comparison to newer younger OSS like ABP.io or AspBoiletPlate or even Serenity, Cloudscribe etc. Before it becomes another 10 yrs and its still in the same phase... I am only advocating for more use!

My point is that there a true and valid use case, please consider helping with a sample for the the smaller group that motivated.

@Skrypt
Copy link
Contributor

Skrypt commented Dec 15, 2019

AspNetBoilerPlate has more traction but for the other ones I can't agree.

@sebastienros
Copy link
Member

Meeting notes from discussion with @agriffard

DashboardPart

  • Position (like in LayerMetadata)
  • % (size) 100 for full line (like widgets)
  • (Shared/Local (for the current user) ... later)
  • (Rules (IsInRole ...) ... later)

Stereotype "Dashboard" (DashboardItem, DashboardWidget)

  • Filter list of elements that can be added to the dashboard, and not list other front-end widgets like RawHtml, Button, ...
  • We can still create a custom content item that has the DashboardPart so it appears in the dashboard

The Add button is creating links to the Create Content Item page (like the New menu)

Example for custom ContentDashboardWidget

  • Feature ContentDashboard [Requires] on ContentManagement and AdminDashboard, in ContentManagement module
  • Migration to create ContentDashboardWidget content type with DashboardPart, TitlePart, add stereotype
  • ContentDashboardWidgetPart if custom state is required
    • N last content items
    • Display pending drafts
  • Driver
    • Display -> ContentDashboardWidget_SummaryAdmin
    • Edit/Update

YesSql index on DashboardPartIndex (same reason as LayerMetadaIndex)
To be able to query only the content items which have this part

Create a Dashboard Wrapper like Widget.Wrapper.cshtml

  • Renders Card and Title
  • Render admin buttons (edit, move, delete)
    • Edit icon links to Edit Content Item page of the widget
  • When the display shape is created (BuildDisplay), add "DashboardWidget_Wrapper" to ShapeMetadata.Wrappers

Steps:

  • Create custom DashboardPart and YesSql index
  • Display all content items that have a DashboardPartIndex. Create the items manually with a dynamic content type.
  • Add "Add" button to link to content item edit page
  • Add wrapper for "Settings" button that links to Edit page of content item

@agriffard
Copy link
Member Author

Done in #7875

@weedkiller
Copy link

@sebastienros I cant tell you how happy 🤟 this has made me and the others in the community.

Please share info/sample on implementing charts/d3 visuals (responsive SVG)/tables/calendar, with UI/data pattern to wire data sources. It would be nice to have a scaffolder or module generator or something we can tool and build a skeleton to follow a patter and speed up development.

Maximize/Minimize
Dashboards can be tabs, so they can see more that one tab with a lazy-loading pattern.
Hooks for data
Hooks for settings on the tab/edit/print maximize etc.

@fasteddys
Copy link

@sebastienros can you please add another sample to show how to real time charts / metrics / graphs or a D3 calendar, besides basic content.

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

No branches or pull requests

7 participants