Comments (4)
Yes this has been called "Package Migrations" ... there's a very old PR in the core for this, but it needs to be entirely revamped. I've spoken to numerous people about this including @jmayntzhusen as a feature that is needed. IIRC @jmayntzhusen has substantial notes about this, else i will need to re-create these notes about this whole feature.
Package Migrations means:
- this obsoletes package actions
- makes both nuget packages and umbraco packages work as one (i.e. you will be able to install data with nuget packages in the exact same way as if an umbraco package was installed in the back office)
- developers don't have to do any dirty hacks on startup to run custom migrations, this will all be taken care of appropriately and to avoid any startup costs
- when a package migration is detected (i.e. a new package has been installed or a package has been updated where the new version has migrations), the Umbraco installer will execute, but under a different type of runtime state with a different UI showing which packages require migrations to run, then the user clicks 'upgrade' (or whatever) and the installer will run just like normal. This way we get feedback about any errors that might be occuring.
- It would be possible to have an option to run these silently but IMO that is not a good experience since if any errors happen then "kaboom" and the user has no idea what went wrong... so what needs to happen is that we have a silent option and if errors do occur we stop the app execution and render a nice error screen stating what went wrong (in fact we should have this option for the normal installer for patch upgrades ;) )
- Another option that should exist is that there should be a configured 'holding page' that is displayed to any public user visiting the site if the site is in an upgrade/install/migration state and only the logged in administrator actually gets redirected to the umbraco install screen
So before any fluent APIs or nice to haves, we first need to make this possible.
from umbraco.packages.
I would probably say one thing:
Create.ContentType("myContentType")
.Property("PageTitle", "Umbraco.TextBox")
.Property("PageBody", "Umbraco.RTE", required: true);
I would prefere if Umbraco basic Editors aliases would be available not as string but static properties like in ModelsBuilder TypeAlias:
Create.ContentType("myContentType")
.Property("PageTitle", Umbraco.TextBox)
.Property("PageBody", Umbraco.RTE, required: true);
I would just avoid using a string which could change in core and they would be still exposed in Umbraco.
from umbraco.packages.
I have flagged this issue with the status/idea
label. This means that it is currently in a feature request / idea state where we are opening it up for discussion.
At this point we can't say if this issue will end up being accepted or not, but we welcome all feedback 🙂
from umbraco.packages.
Closing this issue for now. We have an RFC running that involves this, once that is through the process we will open new tasks and issues based on the decisions in the RFC.
from umbraco.packages.
Related Issues (20)
- Improve package search HOT 1
- Better handling of "current" package files HOT 1
- HTML character entities in package list HOT 3
- Display the 'Updated' date on package details page HOT 2
- Package results list will have layout issues with 8.10.0 and 1m downloads HOT 1
- Packages Profile List – make it easier for people to see their actively maintained packages HOT 1
- Improve UI around making a package live HOT 1
- Remove the 'make current' button from the screenshots listing HOT 1
- 'No current release' message looks like a button HOT 1
- Package Installer Warning Files
- Extension of warning files - #60
- [FR]: Contact Package devs if there are breaking changes in new releases HOT 2
- Add a more prominent link to My Packages HOT 2
- Package Search Pagination gives `next` button even if there are no more pages HOT 2
- Ability to delete package files HOT 1
- Revamping the create / edit package pages HOT 4
- Getting rid of archived packages on Our HOT 5
- Use Markdown for package descriptions HOT 6
- Better support for packages with more than one active version
- Cannot set both current package file and current screenshot HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from umbraco.packages.