Comments (8)
Providing some context:
IPLD is linking for IPFS - see https://github.com/ipfs/specs/tree/master/ipld
IPFS is ... the permanent web. An IPFS implementation of Cmacc would enable resilient, rapid, hubless sites, databases (IPDB) and the like. https://ipfs.io/
Cmacc is our shorthand for the CommonAccord linking and inheritance model. See, e.g. http://www.commonaccord.org/index.php?action=doc&file=S/About/Tech/Spec/0.md
from cmacc-org.
thanks!
(message trimmed by HazardJ)
from cmacc-org.
In chat conversation with Willem, I suggested:
Cmacc can be described as three levels of expansion (2 currently implemented, 1 speculative):
- {variablename} in a value (k/v), expanded by matching "variablename" with a key name in a dictionary.
- [filename] in a dictionary, expanded by matching the name of another dictionary, from a list of dictionaries.
- [[folder]] in the list of dictionaries, expanded by matching another list of dictionaries.
All this can be understood as files in folders. It can also be done in any other format, including databases. It may be helpful to consider files in folders as the canonical form since they are i) widely used and understood, even by casual users, ii) the format of git and software collaboration.
.3. is currently not implemented, the sole dictionary is /Doc/ . (Though with the [?http://...] convention one can include other dictionaries ad hoc.)
.2. [file] has an "include as" notion - if the key is not blank, then the keys in the linked dictionary will be treated as prefixed by the key. ( 1.=[Z/ol/4] ). The {variables} in values in the linked dictionary will also be i) treated as prefixed, ii) if no match is found, treated by removing the prefix. Where there is recursive prefixing, the right-most prefix is removed first. (This deprefixing works exactly in Primavera's implementation. It is a consequence of her use of objects, rather than as a result of my specification. A very satisfying confirmation of the logic of the model.)
from cmacc-org.
Can you list a bunch of example paths here?
from cmacc-org.
Thanks. Let me know if this is helpful.
A pretty good collection of the variety of key-paths and file-paths is in the file at http://www.commonaccord.org/index.php?action=source&file=Dx/Acme/02-NDA-With-Quake/0.md.
A sample of those:
Conf.Engage.Access.Sec={Conf.Engage.Access.Alt3.Sec}
Misc.Assign.1.sec={Misc.Assign.1.Alt1.sec}
These are matched via keys in files included as:
=[Wx/com/cooleygo/US/NDA/Form/0.md]
The ".AltN." examples are one of the few where I don't use a period to indicate a transition. Alt=[Z/Alt/4](deep in the NDA doc) could have been included as Alt.=[Z/Alt/4], but ".Alt.N." seems not to read as nicely as ".AltN.".
from cmacc-org.
My opinion is that, as it looks like you are happy with Cmacc, it is probably better to just be able to convert to/from an IPLD format for now. You could then decide and maybe change over time for which purposes you want to use IPLD/IPFS and for which purposes you want to use Cmacc.
from cmacc-org.
Christian,
Thanks. Yes, that makes sense to me. @wilmveel and Axel are integrating IPFS support in the version that they are doing that uses a "." notation for delimiters. So we have a variety of approaches that I expect will converge. (http://github.com/wilmveel/common-accord)
Jim
from cmacc-org.
I did a really rough (lawyerly?) use of IPFS at http://source.commonaccord.org/index.php?action=source&file=ipfs/QmbnngTXmT6XuVJzS2sbuuynQiy83ELU3bLXuKA8Yoczc7
I'm just using ipfs add and ipfs get on each file, but guess that this could be done with ipfs mount. I got tangled up on the install of go on OSX. Hope to get this solved so I can experiment further.
from cmacc-org.
Related Issues (14)
- WHERE IS THE DOCUMENTATION! HOT 12
- Hello-World HOT 2
- What is the CommonAccord initiative? Who, what, why ....
- Cmacc data model - HOT 1
- Enable TLS / https HOT 2
- What is the naming scheme?! HOT 20
- Update repo description: http://commonaccord.org HOT 2
- Name of Repo HOT 1
- Deal examples HOT 2
- Docs that would be useful for a startup HOT 7
- The URLs are long and ugly
- Issues to follow up:
- Standardized Section Lists! HOT 4
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 cmacc-org.