Giter Club home page Giter Club logo

nnmon's Introduction

nnmon's People

Contributors

alct avatar cynddl avatar guyzmo avatar ogirardot avatar tokeshu avatar vincib avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

nnmon's Issues

Add respectmynet.eu/list/XX/fixed or /mobile

It's great to be able to link directly to a country (with respectmynet.eu/list/XX) and an operator (respectmynet.eu/list/XX/Operator).

Along the same lines, it would be great to have respectmynet.eu/list/XX/fixed and respectmynet.eu/list/XX/mobile to link to only, you guessed it, fixed or mobile NN violations.

Also, how complicated would it be to have the URL adjust when one sorts respectmynet.eu/list/ to a single country ?
Right now, if one doesn't know about respectmynet.eu/list/FR, there is no way of guessing crafty URLS work.

Editorial field issues: editorial block doesn't have a title/header on the website, URLs aren't turned to clickable links

When one enters text in the “editorial” field (such as here: http://respectmynet.eu/admin/bt/violation/195/), the text shows up on the website, but isn't preceded by a nice

RespectMyNet note:

, the way the description has a “Description” title.
It would help users understand where the information provided in that field comes from.

The editorial info could also be in italic, to separate it from the description, or the editorial bloc could have a light coloured background (say light orange or blue, to stay with the site's theme).

Also, URLs entered in this field aren't properly turned to http:// links and newlines aren't turned into

html stuff-o.

Countries list unsorted after translation

In the main page, if you want to add a new case and you go to the Country input field.
If your browser language is other than English then the list is not alphabetically sorted.
It's sorted as it's in English, but with names translated.

It looks like translation is made after sorting when it should be the opposite: translate countries and then sort them, and then show them in the list.

Statistics on mainpage need styling

On the main page, the statistics block needs to be visually separate from the rest of the page, and thus needs styling.

Statistics fonts for the text and numbers should be bigger/bold, and there's a space missing between numbers:
13(8) --> 13 (8)

The block should also have a

around it and a different colour background.

ie: a webdesigner needs to work on it a bit.

List page is only partially loaded until refresh

Loading process for map at http://respectmynet.eu/list/ seems to present a bug (not just a long delay).
Header line for column filters drop down menu, is also missing

Browser: firefox-15.0.1-1.fc16.x86_64 (up to)
Reproducible: Always
Steps

  1. Delete browser cache, restart it
  2. Open http://respectmynet.eu/list/ : map box remains empty (grey) after 1+ minute, column filters are missing
  3. Refresh page (F5) : column filters appear immediately, map finally appears after 15+ seconds

Merging cases

This is a proposal on the way of merging similar cases.

The scenario is:

  • one case considered the "original"
  • a number of other cases considered "duplicates"

Merging would be something like, for each "duplicate":

  • add the confirmations of the "duplicate" to the "original" count;
  • transform the report of the "duplicate" into a comment of the "original";
  • move the comments on the "duplicate" to the "original" (if possible, keep a consistent order)

It's simple, but there are some issues:

  • similar cases with different contracts: we could concatenate the two contracts (might need some human intervention)
  • ordering of comments: to keep things consistent, one would have to keep the "duplicate" report (which is turned into a comment on the "original" case) together with its own comments. That means we can't sort comments by date anymore.
  • other informations on the "duplicate" report that get lost when turning it into a comment: I don't think it matters much, since it's a duplicate anyway...

What do you think? Does that make sense, would it be easy to implement?

Having descriptions in admin panel

The content of a case ("description") does not show up in the admin panel.

So, when a case isn't yet activated (if the user forgot to do so), it's impossible to see its content... which makes it pretty difficult to judge if it's interesting or not.

Marking cases as infirmed, verified, awaiting confirmation; make them visually different

Some cases are just people complaining about their ISP or annoying commercial practices, but not actual NN violations.

For a start, being able to mark these as “infirmed” and having them greyed out in the case list for instance, would allow people to concentrate on the actual cases.

This is coherent with the idea of having a markup for the different cases, allowing to mark them infirmed, verified, or awaiting confirmation, with a banner at the top of case page (this is connected to having the number of confirmations on a case page #22 ).

This also requires webdesign to make the banner visually useful and attractive.

Merge status info block and editorial notes block

First off, thanks, for creating the editorial block and making it look nicer, it is an improvement. :)

Working on case view pages (ie: http://respectmynet.eu/view/205), it would be even better to use the same block for case description (Impacted resource, type, status, etc.) and editorial notes:
put the case description to the left of the block, put the editorial notes to the right.

Less blocks = less space used on screen = improved readability !

[css] border-bottom and hover on table list color issue.

the border-bottom 1px dashed when hovering in one element of the table here is misleading.

http://respectmynet.eu/list/

Many users think they can filter for one operator or one country when clicking that, but in fact it just SHOW the specific case.
1.

there is a hover (in the same "list" table) which is almost in the same gray as the odd lines and span the entire line. It would be great if it is in a very different colour, like the yellow used in the map. That way, users will understand that this line is one link to the case itself, not a filter.

Add map to mainpage

The map is a nice graphical element, it would be useful to display it on the main page.

The likely best position for the map would be just bellow the “add violation” block, on the right.

Given that the “add violation” form expands, the map would therefore have to scroll down as the form expands.

Note: I'm thinking about the same map as seen on the http://respectmynet.eu/list page. Over time, we may have different maps and chose which one to display on which page.

Change “confirm” button wording to “me too!”

One of the problems we've had is explaining the difference between confirming and validating. Oh, and then there is verification.
Which is in fact the same thing as validation. But it's not confirmation.
etc.

To clear things up, I suggest we change the confirm button so it reads “me too!”.
We should still keep a small text bellow that says “I confirm this case”, but having people “me too!” a case rather than confirm it should help make it clearer in people's mind.

Translations should be easy to update.

The “confirm” button appears on the main page, the /list page and the /view/$number page.
For the case pages (/view/$number), the first sentence about confirming should be changed as follows:

“Confirm this restriction if you experience it as well” --> “This restriction affects me too”

This sentence can stay as is: “In order to confirm this report, please enter your email address”

Verification e-mails do not have their headers properly encoded

RFC 3822 still mandates the header names and contents to be only made of US-ASCII characters (7-bits), and hence non-US-ASCII characters should be escaped, but the verification e-mails do not follow that rule (internationalized UTF8 subject includes characters whose code point are > 127).

According the email package documentation, strings for the Subject/From/To fields must be wrapped into an Header object and not passed directly to the correspondig MIMEText's Subject/From/To fields to be properly escaped: http://docs.python.org/library/email.header.html

Number of Featured Cases on mainpage limited to three

The admin backend accepts as many featured cases as wanted, but the mainpage only displays 3.

There can be more than 3 interesting cases at a time, and this should be an editorial decision, not a hardcoded constraint.

Change map colors

The map colors are disturbing. The worst countries are light and the countries with very few reports are red.

Worst countries should be red, others should be light.

Escape the apostrophes when embedded in single quote strings

French version of http://respectmynet.eu/ does not allow to activate the comment form due to a single quoted string in a javascript function call that embeds an apostrophe in the translation of its message: « '... l'instant. ...' »

Either the translations should include escaped apostrophe characters, or (better) the views that display the translated strings should escape those characters.

Attachments to cases open as binary files, without their real filename

See example on this case: http://respectmynet.eu/view/195

When you click to download attachments, they are served as binary files, with a file name made of random characters instead of their real file name.

You have chosen to open:
3c641f3fe26ba57a40c08beaf5e9ebc30fdab61967b9ef5224874cec73932be
Which is a BIN file.

and it downloads:
http://respectmynet.eu/media//static/93c641f3fe26ba57a40c08beaf5e9ebc30fdab61967b9ef5224874cec73932be

Featured cases one homepage only show contract/user description, not affected resource

The featured cases one homepage only show the affected contracted and user supplied description, not the impacted resource.
For the Pirate Bay censorship in Belgium, the case shows up as:


Belgacom (Belgique) All 16

DNS Blockade
Thierry - 18 oct. 2011


which is far from explicit. It doesn't even mention the Pirate Bay.

It might be good to add impacted resource to the displayed field, even though it adds info to the main page.
Another solution is just to edit the user supplied description. It's easier, but doesn't respect the user reports as much.

Up to you.

Form i18n issues

The first three items of the form (lines 20-22 of bt/forms.py) do not have a "label" attribute, which prevents i18n.

Proper i18n would also require handling the items of a ChoiceField (eg. when choosing a Country). According to the code, it should be translated, but for some reason it isn't...

Color in the map are in reverse logical order ...

In usability & design, light (yellow) colors are for unimportant things, and dark (red) for important things.

In the current map, we have yellow for "more violations" and red for "less violations" which is exactly the contrary

We must invert the color palette

Comment form chokes on URLs without “http://” and throws away comment text

If the URL field contains a not fully qualified URL (ie: lqdn.fr) the comment form throws away the comment's text when one clicks “send“.

Comment form should either accept without http://, add http:// if missing, or warn that it's missing.

Furthermore, the comment form must remember input text, losing submitted text is very, very annoying (and not everybody uses the Lazarus Firefox extension to safeguard against that).

Adding “no real IP address” as an affected resource?

This has been requested on the feedback page, I'm not sure it really is a network neutrality violation, but not providing a proper IP address to each subscriber is clearly is a way of restricting access to the Internet, by making it “impossible” to host any services of your own.

This probably needs discussion, but I wanted to add it here for a start.

Filters should show only possible fields

It doesn't make much sense that if I select Spain in the Country Filter then Operator shows me KPN (as it's a dutch operator).

In my opinion, when you choose any option in any row filter, the others should be updated according to the results.
In this example, it should only let you choose Spanish operators from the whole list.

Add site statistics to the main page

It would be interesting to display relevant statistics on the home page:

  • how many infringements confirmed at least once
  • how many Member States have infringements reported
  • how many operators are concerned etc.

All this could have a threshold of confirmations that we can raise over time if necessary.

To not overload the home page, this information should be displayed either before the Featured Cases block it if is short enough, after that block otherwise, if it is longer.

Getting people to come back at their reports

A lot of reports are lacking details.

I would suggest that, whenever an admin changes the state of a report (eg. setting it to "We need more fucking details!" or "Your report is full of bullshit"), an email is automatically sent to the author of the report.

There's an obvious privacy issue, as reporters might not want to be bothered by automated emails.

We could also setup an automated email when a comment is added to a case. But this should be opt-in only, and thus would be only applicable for new reports (and we already have 200+ of them in hands).

Random behaviour of localized content of http://respectmynet.eu/

From time to time, the returned page mixes localized content in another language.

For instance, on the home page were 2 featured cases (one regarding a UK case, the other an Hungarian one), but even if my browser is set to ask for French content, the country name was sometimes displayed in English ("United Kingdom" and "Hungary"), or German („Großbritannien‟ und „Ungarn‟), or (but not as often as expected — that is: always ;-)) in French («Royaume Unis» et «Hongrie»). I've also tested with my browser set to ask for English content, whith the same result.

When the page is reloaded, the country name can be displayed in any of French, or German, or English (currently the only 3 languages I've seen.)

I also noticed this problem on the http://respectmynet.eu/list/ page, again for the contry names.

Some other localized parts I've noticed to show that weird behaviour are the labels of the "Add New Case" form's fields and the help displayed when filling them.

Moderating comments

It is currently very difficult to moderate comments: one has to go through the whole list of comments on the admin panel...

Additionally, some comments do not seem to appear on the admin panel, like the test comments here: http://respectmynet.eu/40

The best would be to have a link/button next to each comment that would allow admins to edit/delete comments.

Country codes are all mixed up

Country codes, as defined in 'bt/models.py', are using the ISO 639 standard, which is for language codes.

It would be far more suitable to use the ISO 3166 standard that is designed for country codes.

Actually, the map on the 'list' page is providing links to filter by countries, but this time using the ISO 3166 standard, which leads to inconsistency (for example, http://respectmynet.eu/list/GR returns 404 because Greece has the ISO 639 code 'EL' in the RMN database).

It's fine for most countries though, because these codes are often the same.

I would suggest using ISO 3166 everywhere, but since it involves changing many country codes in 'bt/models.py', I'm not sure of the effect on the database ;)

Word doesn't adapt to plural: XX personne(s) ont confirmé ce cas

In French, the number of confirmations wording is “$CONFIRMATIONS personne(s) ont confirmé ce cas”.

It displays a “(s)”, which looks bad, and doesn't adapt if there is one confirmation or 35. Plural is basically an ugly hack.

This, I believe, is because the original wording in English is XX people confirmed this case, which is neutral.

Make “featured cases” section on the homepage more attractive

The Featured Cases part of the homepage is a useful section, but is not used to its full potential.

It should attract attention more, rather than look like filler.

The Report New Case block stands out, this should also be the case for the Featured Cases, by using sexy webdesign.

//

Les Cas à la Une de la page d'accueil sont une section utile, mais qui n'est pas utilisée à son juste potentiel.

Cette section devrait plus attirer l'attention, et avoir moins l'air de remplissage.

Le bloc « Ajouter un nouveau cas » est très visible, il devrait en être de même pour les Cas à la Une.

Un/e webdesigner/se pourrait aider, simplement en « enregistrant la page sous », la modifiant et l'améliorant, et renvoyant la version modifée par exemple. ([email protected])

Case details page doesn't show number of confirmations

When looking at the details of NN violations, the number of times this case has been confirmed is not seen on the page.

For instance, at the time of writing, this case has been confirmed 14 times:
http://respectmynet.eu/view/191

Yet, this information is not seen on the page itself, though it is relevant.

Ideally, this information would be displayed in a block either above or bellow the “description” block, and use colours to indicate the violation's heat, as done on the map on the /list page.

Server-error after clicking a case item

I'm getting a django error after clicking on any case item, saying "TemplateDoesNotExist at /view/299".

More infos:

Error during template rendering

In template /home/stf/nnmon/templates/view.html, error at line 130

120     <h3>{% trans "Comments" %}</h3>
121     {% get_comment_list for v as cmt_list %}
122     {% for comment in cmt_list %}
123     <div class="comment">
124     <p>{{ comment.user_name }} - {{ comment.submit_date }}</p>
125     <p>{{ comment.comment|striptags|urlize|linebreaks }}</p>
126     </div>
127     {% endfor %}
128     <div class="toggle button">{% trans "Add comment" %}</div>
129     <div id="comment_form" style="display: none;">
130     {% render_comment_form for v %}
131     </div>
132     {% else %}
133     <br />
134     <a class="button" href='/moderate/?key={{key}}&action=approve'>{% trans "Approve Submission" %}</a>
135     <a class="button" href='/moderate/?key={{key}}&action=delete'>{% trans "Delete Submission" %}</a>
136     </div>
137     {% endif %}
138     </div>
139     {%endblock%}

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 500 page.

make a full API: rewrite the views.add method

I'm working on my fork in the api branch to add full blown API to nnmon.

I have added django-pastypie to the requirements, and implemented a first version to replace the /ajax/ route with the /api/ route, and it works pretty well.

The problem I'm now encountering is the following:

  1. API inconsistency
    • for listing the violations, the API gets the list of models.Violation and exposes it,
    • to add a violation, the form on frontpage – and thus views.add – uses forms.Violation, which is a join between models.Violation, models.Comment and maybe others.
    • to solve this, there are two solutions:
    • the easy one: which is to match the API to forms.Violation,
    • the clean one: which is to refactor views.add() so it updates separately models.Violation, models.Comment and models.Attachment, and same thing on the API side, listing of the three models is also separated.
  2. Error management
    • in the following method (which is the one managing the POST requests, so the Violation object creation):
        class APIResource(ModelResource):
            def obj_create(self, bundle, request, **kwargs):
                # XXX
                return bundle

I still did not undestand how to manage returned error codes in tastypie. I RTFM with no success until now.

  1. Authentication: Turing test + Account creation

Finally, last problem about the API updates, is that you can't do a Turing test when using it, as it is intended to be M2M. So I think we can force the account use, by separating the Turing test using a standalone API so the user can get an API key in exchange of the test, his e-mail and a nickname.

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.