101companies / 101rails Goto Github PK
View Code? Open in Web Editor NEW101wiki web front-end written Rails and backbone.js
101wiki web front-end written Rails and backbone.js
For example, if you create an "unknown" property like * [[foo::Monad]]
it would not be rendered in the metadata section.
The wiki should be more robust and render all the semantic properties.
It should look at the schema and render all non-external properties.
This is a severe issue.
For instance, go here:
http://101companies.org/wiki/Course:Lambdas_in_Koblenz
Try to click any link; I tried the first few lectures; nothing happens.
I suggest to link these buttons from the landing page as follows:
This is not needed for a first version! The user might disagree on some of these findings and add and remove some languages, etc. (This is not needed for the very first prototype.)
For example
http://101companies.org/wiki/Vocabulary:Functional_programming
There should be an "empty" backlinks section or other means of indication there is no backlinks
Now the user says "Submit" for another time. This will create a TODO record on the server such that some 101gatekeeper has to look into it. (It looks like the record would be written to the mongodb instance by the supporting service.) The record contains all data as for "Submission for analysis" (github user, repo, subdir) and all the edits for languages, technologies, features, and headline.
As one can, see various contributions are listed with the "Contribution" prefix and also without.
I checked some and it looks like the page without prefix does not exist.
See recent issue #62 where both pages (with a different prefix, though) did exist.
In any case, the search results should not show non-existing pages.
Clearly, there is something going on with loosing prefix as of #62.
For instance, check out here:
http://101companies.org/wiki/Course:Lambdas_in_Koblenz
Looks like this; "Course" is missing:
This is not needed for a first version! We need to be prepared for the case that the contribution is actually not the entire repo, but rather a subdir thereof. Thus, the user must have the opportunity to point to, or better even, to select a subdir. (We can leave this out for the most basic prototype in the beginning.)
Consider, for example,
Generally, the least possible burden should be placed on the user in terms of what needs to be edit / filled in. The contribution process should be sort of a "push button" process
The page needs to help with selecting a github repo. This would be either a repo that is "owned" by the authenticated user or a repo for which that guy is collaborator. In the most basic version, the user would need to simply enter the URL pointing to the repo. (Go for that basic version to be fast.)
The returned JSON would contain all kind of information but also specifically some metadata units for "languages" and "technologies" and "concepts" and "features". (At this point, the data returned by the service only contains infos about languages and technologies, but more stuff is to come and I will file issues accordingly.)
The simple approach is really just to walk the JSON and extract all "languages", "technologies", etc.
More filtering could be needed. This is not needed for a first version! For instance, some files may be tagged to be "ignore"d and hence associated metadata units should not be counted.
An example from today's lecture:
http://101companies.org/wiki/Stack
When clicking the links, once gets to "empty" 101explorer pages.
This is very concerning because it means that students just cannot discover essential concepts.
I am getting this sort of error upon "git pull"?
Does this indicate a problem with what files are in the repo?
Thanks for some advice or clean up.
$ git pull remote: Counting objects: 451, done. remote: Compressing objects: 100% (207/207), done. remote: Total 391 (delta 259), reused 310 (delta 178) Receiving objects: 100% (391/391), 43.74 KiB, done. Resolving deltas: 100% (259/259), completed with 36 local objects. From github.com:101companies/101rails * [new branch] contribution -> origin/contribution 4f5eaf7..f9986cb master -> origin/master * [new branch] script_roles -> origin/script_roles * [new branch] true_roles -> origin/true_roles Updating 4f5eaf7..f9986cb error: Your local changes to the following files would be overwritten by merge: Gemfile.lock Please, commit your changes or stash them before you can merge. Aborting
This is, for example, about a page like this:
http://101companies.org/wiki/Local_scope
The page contains markup like this:
It is rendered in a way that the underlying source code does not show up:
To be discussed more, once schema is ready.
//cc @tschmorleiz
Before the submitter (contributor) can do anything, she needs to authenticate. The page needs to require github authentication in the same sense as the wiki also requires. Thus, the contribution page needs to help with logging in through github. The implementation of that aspects must reuse (and possibly revise) the infrastructure and the approach chosen by (the new) 101wiki.
It should read the schema to identify properties to external links, instead of using hardcoded "identifies" and "linksTo"
Consider this:
http://101companies.org/wiki/Course:Lambdas_in_Koblenz
See the red stuff.
So I ran a search:
All the three pages ending on "... engineering in Haskell" seem to be copies.
It could be that these pages were created at some point by a broken "rename" feature.
Anyway, I wiped out some those not wanted and renamed some more so that the link should work.
It remains RED as shown above, despite being correctly resolved when clicked.
Same for the "... data modeling" link.
My hypothesis:
At least the resolvable links should not be shown in RED.
It seems that JSON files cannot be found, for example at http://101companies.org/wiki/Contribution:javaParser .
Error msg: Retrieved empty json from discovery service
This is not needed for a first version! By default, we could assume that the name of the repo (or the selected subdir, if such selection happened) would provide the proposed name of the contribution. We should allow the user though to override that name.
One of the biggest problems of the 101companies project is that submitting a new contribution is basically impossible, even though the basic idea is quite simple.
A good submission process would start with a developer expressing the wish to submit a new contribution through the 101wiki web interface. He would then be able to provide a Github link. 101wiki notifies 101worker of the additional contribution. 101worker downloads and analyzes it and can provide metadata such as the languages used in the contribution. 101wiki takes this information and provides a wiki page to the developer including the information computed by 101worker in which the developer documents and explains his contributions. After saving the page, the 101wiki admins get notified via email, review the contribution and make it publicly available.
For instance, I went here:
http://101companies.org/wiki/Contribution:javaVisitor
Pressing the "101explorer" tab at the top, nothing happens.
This would be cool.
Say when selecting the "link" feature from the editor help ...
... if we were provided with real-time intellisense for selecting prefixes and then selecting members within the namespace.
For this to work smoothly for anyone who is creating a bunch of pages about the same time (hour), we would need more frequent worker cycles. 101companies/101worker#196
This is not needed for a first version! The user should be able to enter a one-liner headline to summarize the contribution. Help should be provided here by showing some strong examples of existing contributions. The headline should be softly required based on coloring or having the user confirm an empty headline upon final submission. We should though allow the user to continue without headline if she wishes to push through.
Convert them once recovered.
The Wiki generates some json representation of the backlinks to render it in javascript at this place: https://github.com/101companies/101rails/blob/master/app/views/pages/shared/_default.html.erb#L8
This should be refactored to a static backlinks generation without js.
Located here:
http://101companies.org/wiki/Script:Generic_functions
Seeing this:
Too much "Lambdas in Koblenz".
Implement a script which renames the semantic properties.
Just tried twice to save some edit on this page:
http://101companies.org/wiki/Sorting_problem
The old content gets rendered past save.
The old content is also shown for edit when pressing edit past save.
BTW, I also noticed that (re)loading this page was slow.
If admin opens the page which is not created, then it should not be created automatically, but rather ask for confirmation.
These names of entities should be presented to the user in listboxes for languages, etc.
Let's go here:
http://101companies.org/wiki/Basic_data_modeling_in_Haskell
Seeing this:
Indeed, I cannot delete the page. That is, clicking the grayed out "Delete" button doesn't do anything.
So upon doing all the designation, as described above, the user essentially says "Submit" and the stuff goes to sever where cloning and matching happens and JSON is sent back as we have seen today -- that part is already working somehow. (Great!)
Let's go here:
http://101companies.org/wiki/Either_type
The end of the page looks like this:
Thus, the metadata for sameAs is not rendered. In fact, there is no "references" section.
What has been described up to now is the mere submission process from the point of view of the webpage as the contributor uses it initially. To provide more context and to hint at a whole range of features that will be needed also, here is what happens after "submission for inclusion":
Let's go here:
http://101companies.org/wiki/Script:Data_modeling_in_Haskell
Seeing this:
Several things:
Edit option for the pages should be disabled if the user doesn't have rights to edit the page.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.