-
Suggestion
-
Resolution: Unresolved
-
None
-
8
-
17
-
We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.
NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.
It would be great if page blueprints had the ability to also create child pages. Similar to how space blueprints work, except this would create a parent page and child pages for already existing spaces. One such application for this would be for release notes. Each of our release notes have one parent pages and two child pages at a minimum. It would be great to be able to create a custom blueprint that goes ahead and creates those 3 pages. All the pages would be based on templates in the plugin, as it currently works, and when you create it, confluence would take you into edit mode for the parent page. So it would work the way it does now except it creates child pages and you can give them a title and pass variables to them like you can now with page blueprints.
- is duplicated by
-
CONFSERVER-35717 Able to Create page template with child page
- Closed
- relates to
-
CONFCLOUD-34208 Adding child pages to page blueprints
- Under Consideration
- mentioned in
-
Page No Confluence page found with the given URL.
-
Page Failed to load
-
Page Failed to load
-
Page Loading...
[CONFSERVER-34208] Adding child pages to page blueprints
Wouldn't a work-around be to create a template for a page that has multiple template buttons on it? For instance, say I'm a large-scale organization that wants project to govern their own pages, but want to provide an "easy button" for each project to get set up. I could create several page templates, and one "master" page template. I add a button from wherever in the tree I want users to create their own page structure from the "master" template. On the "master" template, there are template buttons for other page templates. Yes, there is a smidge of manual work, but it's not labor intensive, and automating that wouldn't save more than a minute or two during setup. On top of that, perhaps not every project requires the same number of standard child pages, so you can modularize your page tree based on needs, and not just create pages that now someone has to go clean up!
Just my two cents.
Confluence is a wiki .. nothing more ... nothing less. This is not a tool which lends itself to the storage of formalised structured documentation, if it was then this functionality would be baked in as standard. Wiki's are useful just not for what we want to use it for, and this is why Word / PDF's will continue to exist, if only we could have the search/storage power of a wiki with the documentation features of word.
Very interested in the feature. It's a PIA to create the child pages for each project.
Definitely would be a game-changer to automate project documentation and engage colleagues to use it. It would be way easier, 1-click action to build the whole structure of a project documentation.
Agreeing with the others here, it's quite tedious and time-consuming for my teammates that they have to create all the child pages manually after using my template to create a parent page. This gets one vote from me, I'm somewhat disappointed that this hasn't received more priority from Atlassian.
Amazing that this hasn't been developed. Should have been a standard feature from the start.
Amazingly everytime I run into something in confluence that I think "there must be a way", and find out there isn't, I get onto this Jira and get sad.
So sad.
I see the same litany of comments and finally lame response from Atlassian who would rather role out some new wack feature look or something (do they even do A B testing on this stuff and get results that indicate a strong preference?) because it's on their roadmap.
I'm in software product development and product management. Having some 3rd party provide an add on for some feature that you left out is not a model that brings a lot of value to anyone. Which is probably why I feel that the stuff on the marketplace is somewhat of a joke. It's not a place that as an application developer, I would feel comfortable marketing a real content application that has some specific industry knowledge behind it where I am lost in a sea of nickel and penny and free apps that are all mostly simply utility feature related.
I cannot believe that you are not considering this! I am not in a bit of a mess as I figured it would work the same as for spaces. This really detracts from the value.
Thanks for your interest in this issue.
While this suggestion has gathered significant interest, we're unable to implement all of the excellent suggestions you make. We appreciate the benefits of such requests, but don't plan to work on this for the foreseeable future.
This suggestion will be reviewed in about 12 months time, at which point we’ll consider whether we need to alter its status.
Hi Manikandan,
hope that helps, its the relevant snippet, the whitespaces got a bit puzzled though in the JIRA editor :
import ... public MyBlueprintListener(EventPublisher eventPublisher, ContentBlueprintManager contentBlueprintManager, SpaceManager spaceManager, PageManager pageManager, BlueprintContentGenerator blueprintGenerator, PageTemplateManager pageTemplateManager, LabelManager labelManager) { @EventListener public void onBlueprintCreateEvent(BlueprintPageCreateEvent event){ ... ModuleCompleteKey moduleCompleteKey = event.getBlueprintKey(); if (!MY_BLUEPRINT_KEY.equals(moduleCompleteKey)){ return; } Page topPage = event.getPage(); Space ourSpace = topPage.getSpace(); Map<String,Object> blueprintContext = event.getContext(); Page registerPage = createPage(ourSpace, "projectportfolio-blueprint-register", "projectportfolio-template-register", "Projekt " + projectName + " - Open Issues", topPage, blueprintContext, 5); labelManager.addLabel((Labelable) registerPage, new Label("register")); Page docuPage = createPage(ourSpace, "projectportfolio-blueprint-docu", "projectportfolio-template-docu", "Projekt " + projectName + " - Documentation", topPage, blueprintContext, 6); labelManager.addLabel((Labelable) docuPage, new Label("documentation")); Page meetingPage = createPage(ourSpace, "projectportfolio-blueprint-meeting", "projectportfolio-template-meeting", "Projekt " + projectName + " - Meetings", topPage, blueprintContext, 1); labelManager.addLabel((Labelable) meetingPage, new Label("meeting")); } private Page createPage(Space space, String BPK, String tpName, String title, Page parentPage, Map<String, Object> context, int position) { Page subPage = null; ConfluenceUser loggedInUser = AuthenticatedUserThreadLocal.get(); ContentTemplateRef templateRef = null; ModuleCompleteKey templateCK; ContentBlueprint contentBlueprint; if(BPK != null){ templateCK = new ModuleCompleteKey(PLUGIN_KEY, tpName); ModuleCompleteKey MY_BLUEPRINT_BP_KEY = new ModuleCompleteKey(PLUGIN_KEY, BPK); contentBlueprint = contentBlueprintManager.getPluginBackedContentBlueprint(MY_BLUEPRINT_BP_KEY, space.getKey()); } else { templateCK = new ModuleCompleteKey(PLUGIN_KEY, tpName); contentBlueprint = contentBlueprintManager.getPluginBackedContentBlueprint(MY_BLUEPRINT_KEY, space.getKey()); } if (contentBlueprint == null) { System.out.println("BluePrint Template for " + tpName + " not found."); return null; } // Find the blueprint for (ContentTemplateRef ref : contentBlueprint.getContentTemplateRefs()) { if(ref.getModuleCompleteKey().equals(templateCK.toString())){ templateRef = ref; break; } } if (templateRef == null) { System.out.println("templateReference is null!"); return null; } CreateBlueprintPageRequest request; request = new CreateBlueprintPageRequest( space, title, null, parentPage, context, templateRef, loggedInUser, contentBlueprint); Page page = blueprintGenerator.generateBlueprintPageObject(request); if(page != null){ String body = page.getBodyAsString(); subPage = new Page(); subPage.setTitle(title); subPage.setSpace(space); subPage.setParentPage(parentPage); subPage.setBodyAsString(body); subPage.setVersion(1); subPage.setPosition(position); this.pageManager.saveContentEntity(subPage, null); } else { log.error("Could not create subpage " + title); } return subPage; } }
In our case we want to use blueprint code from installed blueprints. The name of the template which the code above extracts and creates pages for are
projectportfolio-template-meeting
projectportfolio-template-register
projectportfolio-template-docu
You can also just replace the createPage() function with your own, providing the relevant Page Source in other ways.
I do have similar issue in my confluence. I m supposed to create a project Space template with child pages on it. You everyone shall start using them. @Kai Mosebach - Please do provide steps to configure blueprint listener
We solved our problem using the blueprint listener and adding all subpages once the mainpage is saved.
One more here. We use a Project template tree structure that would be ideally created by such a feature.
Similar to Kathryn we have the need for any Confluence Page which acts as a kind of "workflow" spreading over more than one document / document type to create a parent page (.i.e Project Overview) and the according subpages (such as Documentation, Meetings etc) so that the users of the "workflow" do not need to think how to structure it themselves, giving you a nice streamlined setup of projects, each looking the same way
We are in exactly the same position as Florian. We have a Projects template with 'buttons' at the bottom of the Project template for the user to manually create the other required pages, using the relevant child page template.
The child page templates we use are:
- Timeline
- Reference documents
- Requirements gathering
- Community Forum
- Meetings
Creating these automatically has been on my 'most wanted' list for 2 years now.
same for us. actually we have templates for projects etc. and the needed child pages have to be created manually (and not everybody does this correctly). Having nested child-pages in blueprints would solve this problem.
what about a "create subpage from template" - macro that inserts a specified subpage from another blueprint (recursively) that can be included in the blueprint and get's removed from the created page when the page is stored?
For the record, this would help us out a lot! We have documentation on projects that all have the same basic structure - would save us a lot of time to be able to build these project pages in seconds instead of an hour!
Multi-page template, template in a template: no problem with our Page Tree Creator Add-on.
Our Add-on Page Tree Creator works a bit different than the Confluence blueprints / templates. The PTC-templates are based on normal confluence pages and therefore creating a PTC-template is as simple as creating a Confluence page. The PTC-tags (variables) can be used in the title, on the page and in macro parameters. Default variables like current date (_Current_Date_) are there.
Try our Live Examples (no registration needed).
Marketplace link: Page Tree Creator.
The version 4 even adds the functionality to create a template page tree based on a normal Confluence page tree!
This would be a valuable feature. I'm creating a project template page where I'd like to include navigation links to preset pages, such as a blank meeting minutes page, project request, project materials. Or even better, a template of a template, such as creating a meeting minutes page that includes a template button to create minutes with and a list of yet to be created minute pages. Auto-generating child pages on behalf of a single template....vote yes. Thanks.
This is a importent feature!
The new page has been create under root of space when I created it by template, it‘s so trouble to my team, because the new page break my pages tree under root.
Just thought I'd let you all know, in case it is useful in the interim
I wish the copy page tree will be an interim, but as it looks like it would be THE SOLUTION for a long time. This issue was created 1,5 years ago and at this time no comment from Atlassian, no Assignee, no fix Version, just growing Votes and Watches. I have seen way to many Suggestions like this that lasts kind of "for ever" and which are still not implemented...
Hi,
Not sure if it was here or elsewhere, but someone mentioned the Copy Page Tree add on. We now have this installed and this is working well for us, although a template or blueprint that allows a page structure to be created easily would still be our preference.
I have created the page tree as a template with no data in it, other than what is standardised data, using the page templates we wanted to be used for the different pages. When creating a new page tree, we copy this template tree to the location where the new tree should be created. As part of the process, you can add a prefix to all the pages in the page tree and edit page names as needed too. This has much simplified the process for us, it now only takes a minute or so to create a new page tree.
Just thought I'd let you all know, in case it is useful in the interim
Would be great to have sub-pages as a part of page template. For example for each software product it could be something like
Product Specs Roadmap Research etc.
at least one-level already would be a great help.
Our spaces are organised by budget; each space represents a budget type. We then create a page tree for each project belonging to that budget type. It would be great if we could have a standard page structure that is driven by a blueprint for each project in the space. We currently have a page template for the creation of the project, which has buttons for the creation of each of the sections. The buttons are then removed by the user once all sections have been created. This is not a very elegant solution, so having a Blueprint, which we can customise with a page structure (similar to the Space Blueprint) would be ideal.
Another Use Case ==>
I do a lot of Patent Application work (Drafting, Reviewing, and Submissions) and I would love to be able to create the page hierarchy quickly:
Patent Title --> includes goals, section status, etc
--> Forward / Specification |
--> Field of the Invention |
--> Background |
--> Prior Art |
--> Summary of the Invention |
--> Brief Description of the Drawings |
--> Detailed Description |
--> Claims |
I use Scroll Office & Scroll PDF to export the documents so I can make sure my formatting and numbering sequence is uniform across all the patents, and of course that means each one of these pages basically require a template each right now... One-Click would be so much nicer!
Another Use Case:
Some Sales guys of ours would like to be able to create a pages tree from a template, to store some info about customers; for each customer, you'd get a main page, and some standard sub-pages focused on sub topics
They'd be interested in getting something very simple; for instance, in a page, they'd have a button on which they could click, being asked then to enter a customer name, and then, hurrah, they'd get their pages hierarchy set, with suitable pages names, based on a global template for the pages hierarchy & content.
Really, Really important.
Already talked about it with Samuel by Reference: CSP-138896
Hi,
Our add-on Yoikee Creator https://marketplace.atlassian.com/plugins/com.keinoby.confluence.plugins.yoikee-creator allows you to create space templates (i.e., space blueprints) by means of mind maps. You draw the structure of your space template in a mind map, where the nodes become pages in the space. Thus, the hierarchy of nodes-sub nodes become the structure of pages-sub pages in the space. You create once a mind map for your documenting your software, and you can create as many spaces as you need with the same structure of pages (consistent spaces).
We are about to release the 2.0 version, where you can choose page blueprints in the nodes (JIRA reports, blog post, file list, etc), mind maps can be embedded on pages, new rendering engine, and many more new features.
Give it a try and send us feedback, regards,
Gorka
UPDATE: The version 1.2 of Yoikee Creator has been released. This version has a new macro to embed mind maps within pages and allows you to select page blueprints directly on the mind map nodes.
Another use case: Documenting software
Conceptional Design using existing features: http://chickenbit.com/blog/2014/11/conceptual-design-of-implementing-a-software-architecture-document-with-atlassian-confluence/
Objective: Technical Writer wants to document a new feature.
Pre-Requisite: The "Pattern" for documenting the software is composed of a parent page for the Feature overview and child pages for Use Cases, Architectural References, Known Issues, and Revision History and implemented as a template.
Usage 1a:
1) Tech Writer create new set of pages with template
2) Tech Writer edits parent page and saves
3) Tech Writer edits child page(s) and saves
Usage 1b:
1) Tech Writer create new set of pages with template
2) Tech Writer fills in page hierarchy template information and saves
3) Page hierarchy template saves information to parent and child pages
2) Tech Writer edits parent page and saves
3) Tech Writer edits child page(s) and saves
One example which I mentioned in the description is Release notes for our products. They each have a few pages that are standard across all products. A blueprint with child pages would be great for these because it saves the authors the time to have to create those individual pages from regular templates. Another example would be when authors write processes for certain things. They have a few standard pages which are the same across products so even though some of the content changes, the layout of these pages are the same across products. We have a couple of other things that share the same problem as the previous things and honestly, if this were to work I can guarantee we can find a lot more uses.
Thanks for taking the time to raise this Alex.
It would be great to hear some examples of what you'd want to use these for?
Structure aids discoverability. Creating parents with their default children from a template encourages consistency. Consistency reduces friction.
Less friction and more confidence (in where to find things) leads to greater use of the resource and better value from the platform.