Comments (15)
@thadguidry excellent, that looks very close to what's needed, I'll have to check out what it does for json in javascript!
from abstracttext.
Yes, editing is... A VERY BIG OPPORTUNITY for improvement :)
To be honest, I don't really know how to tackle it. I guess, the first step is always to choose the type (dropdown?), and then the rest of the screen gets created based on the type.
But really I was leaving that in the proposal to have designers figure that out and implement it, because it is a very open space still.
My advice would actually be to kinda go crazy and not be too constrained and or conservative, since the first try will likely be wrong anyway, so you can go and just try things out, and then we can learn what works and what doesn't.
from abstracttext.
Codemirror supports many, and has auto-completion if need be.
Here's some starting pages:
https://codemirror.net/index.html
https://codemirror.net/mode/javascript/index.html
https://codemirror.net/1/contrib/php/
from abstracttext.
@vrandezo so I'm exploring doing this with the Mediawiki built-in "OOUI" (used for visual editor) - do you have any experience with this? There were other options I looked at but all required additional extensions while this doesn't, so it seemed maybe simpler to try first... Reference: https://www.mediawiki.org/wiki/OOUI
from abstracttext.
Sorry, no experience with that. I think it's more than a decade since I did any UI work on MediaWiki the last time :)
from abstracttext.
@vrandezo slightly unrelated question (related in the sense that I'm trying to figure out in a little more detail how the ZObjects are structured) - Z1 lists TWO key values Z1K6 - for "documentation" and "Wikidata item". I assume one of those should be Z1K7? Neither of them seem to be used so far in the data/Z*.json files; though I notice that Z180 (language) defines its own key for "Q item" - maybe languages should use Z1K7 instead?
from abstracttext.
Ouch, thanks, you're right.
I removed the Q item key. I actually don't think that's a good idea anymore.
761f090#diff-8089dfabe6f3be38e0bb698ca072cd53
Thanks for reporting!
from abstracttext.
Probably not OOUI but vue.js is the way forward, as far as I understand.
from abstracttext.
I'll take a look. OOUI is definitely not as simple to use as I'd hoped. I've gone through a couple of iterations so far and got to the point of modifying a zobject's type, labels, and other string values, but anything more sophisticated is going to need something more!
from abstracttext.
Well it seems Vue.js is not supported yet in the released version of Mediawiki, so it looks like working with it requires going to an unreleased version - at least until version 1.35 comes out. That means a bit of fiddling with docker unfortunately. This may take a bit of time to sort out...
from abstracttext.
FYI I'm making good progress with Vue - also it looks like MW 1.35 may be out before the end of June, so maybe I can get something useful up around then...?
from abstracttext.
@arthurpsmith Great! You could go all the way into embracing the ideas of Abstract Text and Lamda by using Elm :-)
(and this is a useful primer for lots of folks: https://blog.crisp.se/2018/03/08/perlundholm/elm-for-backend-developers)
from abstracttext.
@vrandezo see pull request #23 - hopefully it's not too much of a pain working with the master branch of Mediawiki; they have been updating the Vue support so something in the last 10 days broke what I'd done and I had to add some further fixes today. I may explore trying to get slightly more stable versions to make this a little easier...? But hopefully 1.35 will be released soon and we can just use that!
from abstracttext.
Ah, now I'm seeing an August release date for 1.35. I've updated the pull request to use a specific tagged version that should keep things stable, and fixed all the related issues, so I think it's ready to use when you'd like to try it out.
from abstracttext.
@arthurpsmith I think I found perhaps a better editor... https://ace.c9.io/ (Both Cloud9 IDE and Mozilla are actively developing and maintaining Ace.) It's used in many JSON editors as well, like this one: https://jsoneditoronline.org/
from abstracttext.
Related Issues (15)
- How to handle transliteration in some languages? HOT 8
- Discussion - namespace of functions and other types HOT 3
- Cannot evaluate unlinearized (JSON) version of value(project_name) call HOT 4
- Representing types HOT 6
- new Dataset type (to apply functions over sets of tables) HOT 1
- Document requirements for minimum implementation/kernel HOT 4
- value(true) and value(false) produce errors HOT 2
- ReferenceError in measure.js HOT 3
- Question about using named arguments with named references HOT 3
- JSON data table stays empty (Invalid argument supplied for foreach() in JsonContent.php) HOT 3
- Document meaning of alpha/beta functions HOT 15
- Infinite recursion in normal representation of type (Z1K1)? HOT 5
- Tests - status? HOT 2
- Special pages? HOT 28
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 abstracttext.