JSON objects in the ODB, Markdown text instead of WP-Text
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
No files, tests, or entry points are named. Start by breaking the proposal into the JSON-in-ODB and Markdown-backed wp-text editor work, then identify the existing ODB, scripting-language, and wp-text implementations. Done requires an agreed scope and tests for JSON storage/navigation and editing wp-text as Markdown.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
A bit of thinking out loud. Last time I worked on Frontier, JSON didn't exist and neither did Markdown.
If we were doing it today, we would have used both formats, and integrated them into the language of Frontier, both the scripting language and the odb, we could manipulate and store them.
JSON
I never liked dealing with XML objects in Frontier. We mapped it onto the odb structure, but XML allows multiple objects to have multiple instances with the same name, where as the odb insists every name is unique. We did a hack, and got it to work, but JSON would be better.
Example of how this might work -- the reallySimple package and daveRss, the first for reading feeds, and the latter for writing them. The input and output go in and out in JSON.
JSON details
A JSON type.
JSON constants, when you assign one to a value, it's stored as a JSON type.
Navigation is done the same way JavaScript does it.
Here's an example of a constant assignment to a local.
local (historyArray = [
{
"text": "The <b>Associated</b> <i>Press</i> is adding user-generated social content into its wire services.",
"title": "",
"link": "http://www.niemanlab.org/2017/05/the-associated-press-is-adding-user-generated-social-content-verified-of-course-into-its-wire-services/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+NiemanJournalismLab+(Nieman+Journalism+Lab)",
"linkShort": "http://bit.ly/2qoz8i6",
"when": "2017-05-16T16:47:07.045Z",
"guid": {
"flPermalink": true,
"value": "http://www.niemanlab.org/2017/05/the-associated-press-is-adding-user-generated-social-content-verified-of-course-into-its-wire-services/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+NiemanJournalismLab+(Nieman+Journalism+Lab)"
},
"idTweet": "864522615880380419",
"twitterScreenName": "davewiner",
},
{
"text": "If Donald Trump Were a C.E.O., He'd Probably Be Fired Today.",
"title": "",
"link": "http://www.newyorker.com/news/john-cassidy/if-donald-trump-were-a-c-e-o-hed-probably-be-fired-today?mbid=rss",
"linkShort": "http://bit.ly/2qoxxce",
"when": "2017-05-16T16:44:25.731Z",
"guid": {
"flPermalink": true,
"value": "http://www.newyorker.com/news/john-cassidy/if-donald-trump-were-a-c-e-o-hed-probably-be-fired-today?mbid=rss"
},
"idTweet": "864521938814857216",
"twitterScreenName": "davewiner"
},
])
Referencing part of the JSON object.
local (guid = historyArray [ix].guid)
if (guid.flPermalink)
scratchpad.guid = guid
Markdown
This is the perennial problem for Frontier implementors, we licensed a WP engine for the original Frontier, back in the early 90s, and the product wasn't maintained, something like that -- but there were often problems in moving it forward with us. wp-text type is a pain in the ass. I left this for a to-do item until now, but I want to solve it because some of the apps legitimately use wp-text type.
What I want to do is implement it as Markdown.
So when you see a wp-text object you can open it in a window, the user can edit it, and when they save it back to the odb we store Markdown text.
I haven't thought it through any more than that, but wanted to let people know I'm going in this direction.
Haven't done anything with JSON yet.
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di scripting/helloFrontier
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
scripting/helloFrontier#15 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
scripting/helloFrontier#13 · 5 commenti · 1 reazione ·
-
Example scripts that workAperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
scripting/helloFrontier#12 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
scripting/helloFrontier#11 ·
-
Added += operator, and moreAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
scripting/helloFrontier#10 ·
Tutte le issue di scripting/helloFrontier
Issue simili
-
API Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ProjectSidewalk/SidewalkWebpage#5556 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
paperclipai/paperclip#14463 ·
I maintainer di solito rispondono entro 1 giorno
-
triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno