---
# System prepended metadata

title: MCON Technical Session
tags: [mcon2]

---

---
tags: mcon2
---

# MCON Technical Session

https://github.com/gnosis/tabula#create-publication

Step 0:
- 5 Mins
- Run through the slides
slides:
https://docs.google.com/presentation/d/1jhPiRkyFzLMiZwaWOIGzjpUgZpkNNWLIqDXnH-LXT-A/edit#slide=id.g151a8d4ed06_1_175
- someone shares a web form with everyone who is watching the presentation
https://bit.ly/3KUekGj
- The form has like four questions that center around the DAO we make. (address, are you a writer or editor, desired voting time, etc) 
- This person works on putting the address list together with the shares/loot 


dao
https://admin.daohaus.fun/#/molochv3/0x5/0x67e01d7f284683b3391216791397d91d2471ff98

NEW DAO - 9/7:
https://admin.daohaus.fun/#/molochv3/0x5/0xaba58a92b521292b3e814a9500dcc2b0db425195

Step 1: 
- Explain what we're building (publishing DAO) and what it does
- Explain why we use Proposals for posts
- Explain how a proposal call with Baal works 
    - Baal Wraps Gnosis safe
    - Proposals ties Moloch governance to Mutlicall
- Explain the challenges of writing this code out by hand
    - Encoding + more encoding 
    - Bundling arguments 
- What if there was a way to automate this process?


Step 2:
- Show CoreUI
    - Proposals
    - Settings 
    - Forms
- Sending the TX is complicated, but the flow is always the same. 
- Explain limitations of CoreUI (Core UI doesn't have what a publishing dao needs)

Step 3: 
- Build new publication form on CoreUI
- Rough in metadata
- Show
- Rough in form lego (title, link, descrip) 
- Show form 
- Show Field legos, explain how this works
- Fill in the rest of the form 

Step 4: 
- Show Tabula, poster contract
- Show the Tabula readme, 
    - Show the schema
    - This needs to be JSON
    - But how do we automate JSON? 
- Show contract lego and txLego, explain what they're for. 
- Rough TX lego
- ArgTypes (app search, etc) 
    - We can use an argType to handle JSON
- Put TX in form 
- Test
- Show Pub
- BEHIND THE SCENES
    - get pubid and tabula url in discord
    - https://tabula.gg/#/goerli/P-0x26b728cab60904a3ddf02cb92329ca28aa0de7ca5fce73312d2ddf29ecb01fc1-58
    - https://thegraph.com/hosted-service/subgraph/auryn-macmillan/tabula-goerli
    - https://thegraph.com/hosted-service/subgraph/auryn-macmillan/tabula-gnosis-chain

Step 5
- Uncomment Create article form 
- Show custom input that fetches Poster data
- Show off IPFS argtype
- Run
- Show article

Step 6 
- Go to dao-pub app. 
- Shpw that it's pretty much empty. Show routes, pages
- Bring in theme - show
- Show Nav/Connect, remove it, show DH Layout ("Nav is great, but if what if you wanted the whole layout, and links?") 
- Bring in TX builder, wire in args
- Bring in Form Builder
- Uncomment the same forms and config in that app. 
- Run TXs. 
- Demonstrate that this app belongs to the publication, is a new app. 

Step 7, Summary: 
- Why legos? Why not git clone? 
- Link plans
- IPFS plans (Modular blocks over SPAs)
- Apps as interpreters 
- RAD (Rapid application dev)

## Build list
- Article form in CoreUI w/ customm fields
- Empty app
    - routes - use params
    - pages
    - new forms from coreUI and lego objects