Opened 2 years ago
Last modified 13 months ago
#3137 new Feature Request
Make "draftability" easy to convey to other entities
| Reported by: | ewinslow | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | Long Term Future Release |
| Component: | Core | Version: | 1.7 |
| Severity: | minor | Keywords: | |
| Cc: | brett@… | Difficulty: | difficult |
Description
Is this as easy as extending the blog class right now? In any case, that would feel weird to me in some cases. Perhaps a slightly more general class would be useful.
Change History (3)
comment:1 Changed 2 years ago by cash
- Difficulty set to difficult
- Type changed from Defect to Feature Request
comment:2 Changed 17 months ago by cash
I had a thought last night about this. What we're really talking about is providing a mechanism to add CMS smarts to our objects: versioning, publishing, translating. This could be built into the data model or we could layer this on top of Elgg. The second option could be implemented by serializing an object and storing it as annotation (both pages and blogs use annotations to store descriptions). This could be implemented by the ElggObject with a Draft interface.
comment:3 Changed 13 months ago by ewinslow
- Milestone changed from Needs Review to Long Term Future Release

It has nothing to do with the class ElggBlog. It is custom code in the save action and the page handlers. There is probably code in the views that keys off the draft/published status as well.
To support generalized draftability, we would need to have a standard piece of metadata to store this state. We could control access to it through the access id rather than adding the metadata to the page handler queries. That limits the effects to the actions and views. You might be able to pull it out of the actions if you keyed off of the create event. We could add an input/draft view so that the field name is always set.