Giter Site home page Giter Site logo

101rails's People

Contributors

101companies avatar arkadi-schmidt avatar avaranovich avatar burgua avatar cehlen avatar dependabot[bot] avatar kevin-klein avatar matrode13 avatar myaicloud avatar rlaemmel avatar tschmorleiz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

101rails's Issues

Robustness of semantic properties

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.

"Show source" button, please bring it back

Even when not logged in (but also when logged) please let's have a button "Source" or "Show" or whatever verb blends well with the other buttons so that one can see the markup source without editing (perhaps without being able to edit).

image

Editing results

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.)

Submission for inclusion

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.

Double entries in search

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.

image

Subdir designation

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.)

Rationale

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

Repo designation

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.)

Processing results

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.

Should Gemfile.lock be in the repo?

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

Authentication

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.

wiki looses prefix and creates multiple copies of pages

Consider this:

http://101companies.org/wiki/Course:Lambdas_in_Koblenz

image

See the red stuff.

So I ran a search:

image

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:

  • "Rename" may have problems, but I can't reproduce this right now.
  • RED coloring for links is definitely broken.

At least the resolvable links should not be shown in RED.

Name designation

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.

101wiki contribution process

Summary

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.

Necessary features

  • Page for submitting new contributions
  • Being able to specify a Github link to a contribution
  • 101wiki notifying 101worker of the new link [broken/unimplemented]
  • 101wiki noticing 101worker has finished analyzing the new submission [broken/unimplemented]
  • 101wiki being able to access the metadata provided by 101worker [broken/unimplemented]
  • 101wiki taking the developer to a page where he can document his contribution using/reviewing the data provided by 101worker [broken/unimplemented]
  • 101wiki notifying the admins of the new contribution [broken/unimplemented]

intellisense for adding a link

This would be cool.
Say when selecting the "link" feature from the editor help ...

image

... 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

Designation of a headline

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.

Lost content

This page has gone missing, as I just noticed during the lecture.

Please restore from previously.

It looks like the UI does not provide any recover function anymore.

image

a bit of space before each new section

Consider this:

image

The section headers "Metadata" and "Backlinks" (and generally all such headers) are very close to the previous section. There should be some tiny gap so that one can see that a new section starts. ("It used to be like this.")

Disable page auto creation

If admin opens the page which is not created, then it should not be created automatically, but rather ask for confirmation.

Rendering results

These names of entities should be presented to the user in listboxes for languages, etc.

Submission for analysis

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!)

Post-submission process

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":

  • The gatekeepers are informed about the TODO record as mentioned above.
  • Send "Under review" email to submitter.
  • A gatekeeper uses some admin interface to "confirm" the contribution. This will imply several events:
    • Add project to .gitdeps on 101repo.
    • Generate a tweet on 101companies.
    • Create a wiki page from the submission data.
    • Send an email to the submitter.
    • Change the status of the submitter so she can edit the just created wiki page.
  • Alternatively, the gatekeeper may "reject" with less implications:
    • Send an email to the submitter.

Simple role handling

Edit option for the pages should be disabled if the user doesn't have rights to edit the page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.