Git Product home page Git Product logo

cumulus's Introduction

Build Requirements

  • OCaml >= 4.01
  • Eliom >= 4.0
  • Lwt >= 2.4
  • OCaml-safepass >= 1.2
  • PG'OCaml >= 2.0
  • MaCaQue >= dev
  • OCaml-markdown >= dev
  • Batteries >= 2.2
  • Camomile

Run Requirements

  • Ocsigenserver with dbm
  • PostgreSQL

See the INSTALL file to know how to get them.

A running demo is available at: http://cumulus.mirai.fr/

Build Status

cumulus's People

Contributors

abbysmal avatar dinosaure avatar khady avatar kit-ty-kate avatar

Stargazers

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

Watchers

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

cumulus's Issues

[CLOSED] Liens "suivant"/"precedent" dans les pages avec un filtre (tag, utilisateur)

L'affichage des boutons suivant/precedent se fait en fonction du nombre total de liens et pas en fonction du nombre de liens dans le filtre.
Par exemple, s'il y a 5 liens avec le tag ocaml et 27 liens au total, les boutons vont s'afficher sur http://cumulus.mirai.fr/?tag=ocaml


Impossible de mettre des / dans le titre d'un lien

Si un slash est présent dans le titre d'un lien, la visualisation, l'édition et les commentaires vont mener sur une page disant Wrong parameters

Voir par exemple sur http://cumulus.mirai.fr/view/539/http%3A//www.arte.tv/g

Effectivement, les / ne sont pas correctements gérés et l'url ne correspond plus à nos services.


Afficher des virgules entre les tags

Je ne me souviens jamais de la syntaxe pour les tags Cumulus. Comme sur la page d'index ils sont séparés par des espaces, je les mets aussi entre espaces, et ça ne marche pas. Il faudrait les séparer par des virgules sur la page d'index pour suggérer la bonne syntaxe à l'utilisateur.


Page « à propos »

J'ouvre cette issue pour discuter de cette page plutôt: voir #52 (comment)
Merci beaucoup @BrunoLtn !

Peut être qu'on pourrait faire ça autrement, essayer de faire une vraie page, en terme d'accessibilité je ne sais pas trop comment sont considérés de tels « pop-ups », mais l'idée du petit point d'interrogation au niveau du logo est très chouette. On pourrait caser un peu tout sur cette page, genre le lien de reset disparu depuis la nouvelle version.
Reste à déterminer si ça sera suffisamment évident pour l'utilisateur que tout se trouve ici, mais bon.
Des idées ? (cc @Khady @jpdeplaix)

[CLOSED] fitrage par tag composé

Lorsque je clic sur le tag lecture note dans le liens Database System
Le filtrage échoue et ne me renvoie rien.
Après un ou deux test ou observe que le problème apparaît uniquement pour les tags composées.

Example

Post | Tags
PostA | a, b c
PostB | a, b c

Action => Resultat
Clic a => filtrage ok
Clic b c => filtrage ko


reducation des tags

Ce qu'il voulait dire, à mon sens; c'est que "math" et "mathématique" pointerait le même tag. Pour éviter d'avoir un taggage moins précis... (car il prendrait en compte Maths et Mathématiques et aussi pourquoi pas Mathematique etc.)


Db_feed.get_root

La fonction get_root de db_feed.ml n'a pas le comportement attendu.
Si je cherche le feed root du feed A, elle va en fait chercher un feed qui a A pour root.

Cela explique en partie les problèmes qu'il y a dans le flux rss.

Auth bug when importing the database

On nagi (the futur host of Cumulus), the user authentification doesn't work anymore :(
We thinks it's a bug or a bad usage of Bcrypt because creating a new user (not imported) works.

How to have good database performances and no bugs ?

I and @dinosaure find out pretty difficult to have both good performances and no bugs.
Today I tried to write a handmade SQL request to see what we need in macaque.

The result is here (modulo filters for tags, users and extra informations related to users):

SELECT
  sum(v.score) AS score,

  f.id AS id,
  f.url AS url,
  f.description AS description,
  f.author AS author,
  f.parent AS parent,
  f.root AS root,
  f.name AS name,
  f.email AS email,
  f.email_digest AS email_digest,
  f.tags AS tags

FROM
  (SELECT
     array_agg(t.tag) AS tags,

     f.id AS id,
     f.url AS url,
     f.description AS description,
     f.author AS author,
     f.parent AS parent,
     f.root AS root,
     f.name AS name,
     f.email AS email,
     f.email_digest AS email_digest

   FROM
     (SELECT
        f.id AS id,
        f.url AS url,
        f.description AS description,
        f.author AS author,
        f.parent AS parent,
        f.root AS root,

        u.name AS name,
        u.email AS email,
        md5(u.email) AS email_digest

      FROM
        feeds AS f,
        users AS u

      WHERE
        f.author = u.id
        AND
        (f.parent IS NULL OR f.root IS NULL)

      GROUP BY
        f.id,
        f.url,
        f.description,
        f.author,
        f.parent,
        f.root,
        u.name,
        u.email

      ORDER BY
        f.id DESC
    ) AS f
    LEFT OUTER JOIN
    feeds_tags AS t
    ON
      f.id = t.id_feed

  GROUP BY
    f.id,
    f.url,
    f.description,
    f.author,
    f.parent,
    f.root,
    f.name,
    f.email,
    f.email_digest

  ORDER BY
    f.id DESC
  ) AS f
  LEFT OUTER JOIN
  votes AS v
  ON
    f.id = v.id_feed

GROUP BY
  f.id,
  f.url,
  f.description,
  f.author,
  f.parent,
  f.root,
  f.name,
  f.email,
  f.email_digest,
  f.tags

ORDER BY
  f.id DESC

LIMIT 20
OFFSET 0

To summarize, we need:

  • subqueries
  • LEFT OUTER JOIN

@gasche does it seems feasible before the end of the month ? Do you have an other ideas of how to rewrite this request ?

Otherwise we should think of changing of ORM (pgocaml maybe ?) :(

[CLOSED] Formater correctement les commentaires dans les flux rss

Pour le moment, le texte du commentaire est utilisé comme titre et non pas comme contenu.

Maintenant que le markdown est en place, on se retrouve aussi à avoir la source des commentaires dans le rss, et non pas le contenu formaté.

C'est assez flagrant sur ce flux :

http://cumulus.mirai.fr/atom/565


ATOM: utiliser le champ 'category' de atom

Pour le moment, les tags sont affichés uniquement dans le champ summarydu flux atom.

Atom 1.0 offre un moyen standard de gérer les tags. C'est le champ category. Il faut remplir ce champ avec les tags relatifs au lien.

rfc

"Le lien existe déjà"

Je fais suivre une issue de @programLyrique qu'il a posté sur mon vieux dépôt cumulus

J'ai essayé de poster un lien sur le site de démonstration, qui me répond que le lien existe déjà.

Après vérification, c'est effectivement le cas, cependant pas en page principale, mais en commentaire.

Je pense que dans ce cas-ci, il faudrait autoriser le lien à être posté sur la page principale.

Ce qui me fait aussi dire qu'il est urgent de faire la page à propos, cc @jpdeplaix qui semblait avoir une idée en tête.

[CLOSED] upvote

Rendre cumulus plus personnel : j'ai dans l'idée notamment un système
où chacun pourrait apprécier un lien (de mauvaise qualité | >de qualité
mais ne m'intéresse pas | m'intéresse (et de qualité))

J'ai essayé de penser à un système de « classement » ou de votes, et ma conclusion (après constatation, Hacker News en tête) c'est que c'est pas intéressant dans le cadre d'un site qui se veut généraliste. On reprend l'exemple Hacker News: On trouve de tout par là bas, y compris des trucs très intéressant, mais majoritairement, le bullshit qui remonte en frontpage (le contenu upvoté, donc) ne m'intéresse absolument pas. Pourtant c'est ce qui intéresse la majorité des utilisateurs du site en question, donc je dois « subir » les goûts de la masse et faire avec. Donc la solution c'est plutôt de rendre le système de tags et d'indexation du contenu efficace pour que l'utilisateur puisse se diriger vers ce qui l'intéresse, au lieu de présupposer que ce que les autres aiment, il va aimer.

Après, une autre idée pourrait être de faire un système d'upvote mais topic-specific, où l'on n'upvote le lien que pour la catégorie parente, et là on pallie au problème évoqué plus haut.


Revoir les services

Je pense qu'il est nécessaire de revoir nos services pour avoir quelque chose de plus logique et plus joli.

Sur irc, plusieurs personnes ont demandé à ce que les /view/id/description deviennent /view/id

Je voudrais bien un /user/username ou /user/id plutôt que /?username=bli. Pareil avec les tags.

Il serait intéressant d'avoir des services capables de regrouper plusieurs sujets (donc plusieurs personnes, ou plusieurs tags), comme ce que fait reddit. Mais je ne sais pas si c'est évident.

A compléter quand on y pense


Notifications

It would be interesting to have notifications for our links when someone add a comment to it. And the same for someone who added a comment to a link, it would be interesting to receive a notification when someone add an other comment to the root link.

UI fixes

  • Use client links for the bookmark button and for upvotes
  • Add ~before when the page is reloading
  • Highlight some links (like « Éditer » …)
  • Improve the text color of the comments

Les favoris ne s'affichent pas tous

J'ai réglé le nombre de liens par page à 10.

Quand j'ai 11 favoris et que je vais sur la page censée les afficher, les 10 premiers s'affichent correctement et j'ai le bouton suivant.

Mais une fois que j'ai cliqué sur suivant, la page contient uniquement un bouton précédent. Le 11ème favoris n'apparait pas.


tag toggling

Une fonctionnalité qui augmenterait l'experience utilisateur serait la suivante :

Quand, je click une première fois sur un tag, j'applique un filtre si je reclic dessus le filtre lié au tag est supprimé.

Ainsi cliquer sur un tag applique un filtre ou en retire un

PS: Je sais pas si le terme utilisé dans le titre existe, mais je l'aime bien


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.