# Use Case: Public Roadmap

**URL:** <https://community.fibery.io/t/use-case-public-roadmap/2726>\
**Category:** Fibery Showcase\
**Created:** [April 20, 2022, 2:37pm UTC](https://community.fibery.io/t/use-case-public-roadmap/2726 "2022-04-20T14:37:59Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [April 20, 2022, 2:37pm UTC](https://community.fibery.io/t/use-case-public-roadmap/2726/1 "2022-04-20T14:37:59Z")

</div>

Here is how you can setup a Public Roadmap in Fibery

Example: [. | Fibery](https://the.fibery.io/@public/Public_Roadmap/Roadmap-Board-5974)

 ![Screenshot 2022-04-21 at 12.28.19 PM](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/a/a782e5983da6b3f1b6a0bc6f6eb05c10118d4465.png)

Flow:

1. Create a separate Public Roadmap Space with Roadmap Item (RI) database
2. have 1-1 Link between RI and Feature
3. Add Public Roadmap checkbox to Feature (to control what features will be visible in Public Roadmap)
4. Setup several automations to:

- Create RI when Feature “Public Roadmap” checkbox is checked
- Copy all relevant data from Feature to RI
- Maintain the data and state between Feature and RI

1. Setup required Views inside Public Roadmap space. We have a board, but maybe some will like Timeline more
2. Share Public Roadmap to the web

Video tutorial:

Script to sync States and Description

```auto
const fibery = context.getService('fibery');

for (const entity of args.currentEntities) {
    const feature = await fibery.getEntityById(entity.type, entity.id, ['State', 'Roadmap Item', 'Description']);
    const content = await fibery.getDocumentContent(feature['Description'].secret);
    const roadmap_item = await fibery.getEntityById('Roadmap Item', feature['Roadmap Item']['id'], ['Description']);
    
    // Update State field in roadmap item
    await fibery.updateEntity("Roadmap Item", feature['Roadmap Item']['id'], { 'State': feature['State']['Name'] });

    // Update Description field in roadmap item
    await fibery.setDocumentContent(roadmap_item['Description'].secret, content);
}

```
