-
Notifications
You must be signed in to change notification settings - Fork 1
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
Work on learning center tutorials #738
base: master
Are you sure you want to change the base?
Conversation
Add data hierarchy plugin example GIF's Add utility functions to embed GIF images in HTML from Qt resources
…data hierarchy documentation is nearing completion
…s to data hierarchy plugin documentation
Add data hierarchy plugin example GIF's Add utility functions to embed GIF images in HTML from Qt resources
…data hierarchy documentation is nearing completion
…s to data hierarchy plugin documentation
Learning center models in Models/LearningCenter/... source group Construct LearningCenterVideo and LearningCenterTutorial from QVariantMap
…e the current tutorial
ManiVault/src/PluginFactory.h
Outdated
@@ -117,6 +117,7 @@ class CORE_EXPORT PluginFactory : public QObject | |||
* Get the read me markdown file URL | |||
* @return URL of the read me markdown file | |||
*/ | |||
[[deprecated("This function is under development and has no effect (yet).")]] | |||
virtual QUrl getReadmeMarkdownUrl() const; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These functions are actually used now, right? Do they still need the deprecated
attribute? They cause a bunch of warning during build
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They have largely been superseded by the tutorials, so I am not sure yet what role they will play in the future. I could remove the deprecation warning or remove these functions entirely, what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the function to just show the Readme of a plugin without an extra tutorial is still very nice. It can server different purposes as well, like mentioning authors and references in the readme vs detailed usage instructions in the tutorial.
I'd be in favor of keeping it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds reasonable. I will turn off the deprecation warnings then!
It would be good to be able to specify the branch in |
Good suggestion, this is implemented now... |
Overview
This onboarding PR extends the current learning center API with tutorial functionality, see the video below.
This video shows how to access the tutorials from the website ánd from within ManiVault Studio
Main contributions
Tutorial plugin
located in:/ManiVault/src/plugins/TutorialPlugin
which uses the learning-center.json API from the website to display the tutorial in an embedded browservideos
tutorials
mv::FileDownloader
class with more monitoring member functions and automatic (modal) progress indicationmv::AbstractProjectManager::openProject(QUrl url,....)
to download and open a project (with progress reporting etc.)Added classes and refactors
mv::LearningCenterTutorialsModel
class which contains tutorials from the website and user-added tutorialsmv::LearningCenterTutorialsFilterModel
class which filters anmv::LearningCenterTutorialsModel
instancemv:::util::LearningCenterTutorial
class which contains tutorial properties (can be populated from the website or by the user)util::Video
class tomv::util::LearningCenterVideo
to harmonize with the above naming scheme and to be more exact and descriptivePages/StartPage
to thePages/Common
source group because, from now on, they are also used by the learning center pagemv::AbstractHelpManager
for adding and retrieving tutorialsmv::gui::WatchVideoAction
which encapsulate video launching behaviour (we might support various types of videos in the future)Tutorials for built-in plugins
Note: the documentation is available on the website ánd in ManiVault Studio
Data hierarchy plugin
Data properties plugin
Logging plugin
, available from withinManiVault Studio
(with thetags
filter) and not from the websiteSample scope plugin
, available from withinManiVault Studio
(with thetags
filter) and not from the websiteShared parameters plugin
, available from withinManiVault Studio
(with thetags
filter) and not from the websiteTasks plugin
, available from withinManiVault Studio
(with thetags
filter) and not from the websiteBug fixes
OptionAction
popup sessionmv::gui::TriggerAction
push buttons are now re-sized in code rather than CSS (which turned out unreliable)Miscellaneous
project from workspace
section (for now)Resharper
team settings for unified code style conventionsMV_PRECOMPILED_HEADERS
off