Code Monkey home page Code Monkey logo

django-radio's People

Contributors

alexcortinas avatar iago1460 avatar txenoo 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-radio's Issues

Improve DRF API

The current implementation is incomplete. Create or update objects is not always possible, also field's names are not always descriptive.

Endpoints like Episodes or Schedules output a big number of elements, maybe we should add some kind of pagination

Enable more fields members and default app section at radiocom interface

It would be nice to include other fields used at newer versions of radiocom-android.

  • default app section to open: news, podcasts, home, etc
  • endpoint of the members aplication.
  • include wysiwyg in description fields.
  • update translations and improve texts.

I will summit a pull request when I develop it. @ficiverson will provide info of the fields.

White space to fill with other options.

When categories are filled, it would be useful to have a choice of white space for when the category is not on the given list. For example, the roles don´t have categories such us "productor" or "presentadora". The idioms don't have categories such us "spanish and galician", the theme of the program don't have categories such us "humor". And so on.

Possibility to share on Social Networks

Some radio producers are asking for an option to allow sharing the podcasts or the programs on social networks as twitter, or facebook. It seems that is quite easy to implement. There are some examples of this button implementation at any news on cuacfm.org https://cuacfm.org/novas/

A next step would be to include some metadata so facebook or twitter share the podcasts in a nice way, these attributes.

In the case of Facebook, it exists an explanation at: https://developers.facebook.com/docs/sharing/webmasters based on Open Graph Markup.

And in the case of twitter it is explained at https://dev.twitter.com/cards/overview

Possibity to upload images in the CKEditor view of Episodes and Programs

In previous versions users were able to upload images related to the Episode. But after the upgrade this is not possible.

It seems that the RichTextUploadingField allows this, while RichTextField doesn't alow this.

https://github.com/django-ckeditor/django-ckeditor

Would it be possible to allow the possibility of uploading pictures, users like to upload new pictures por each episode. This could be useful for other fields like the episode description.

Missing javascripts for IE9

html5shiv.js and respond.min.js aren't avaliable in django-radio distribution so their response is a 404 from the server

Program description when there is podcast info

When you open the Schedule and click on a program, a description appears. But when the program shows the info of the last podcast, the description almost disappear (for example, on Cuac FM's Recendo). It would be nice to have the whole description, or being able to click on the ellipsis to open the whole description.

Improving AKAS

When you create an AKA for someone (entering a program, choosing a person and clickig the +), you don´t really create an AKA, but a new user not linked to the former one. I mean, if the administrator enters the program "Fruit Party", chooses the user "María Pérez" and creates the AKA "Señora Plátano", when María Pérez enters her account she will discover that "Fruit Party" is not anymore among the programs she belongs to. Besides, she will have no way to edit her AKA, since it doesn´t appear on her account. Now "Señora Plátano" is an individual user (if the administrator gives permissions and consider her a new member!) and has her own account.

Besides, when the administrator creates "Señora Plátano" on the +, there´s only an user field where you can only write something like "Senora_Platano" (no "ñ", spaces or accent marks), and that will be the name showed to the public, unless you enter on Users and enter "Señora Plátano" in the Name and Surname fields. If they could appear on the previous step, it woud be useful.

Enable CORS for read only API

In order to allow client-side applications to access the API, it is neccesary to allow cross-origin requests. I think that enabling them only for read-only endpoints is not a security issue at all, but I am not an expert.

Review system dependencies to install radioco

I've been trying to install radioco, but there is a missing dependenciy in the system when you install it in mysql database.

The stage of "pip install -r requirements.txt" doesn't work if you don't have installed libmysqlclient-dev so I would recommend to include in the libmysqlclient-dev in the install information of the db.

sudo apt-get install mysql-server libmysqlclient-dev

Show login link at Radioco HomePage

It is difficult to login to RadioCo if the link to connect as user or administrator isn't available in the HomePage. It would be nice to show the information if the user is loged so user can access to the administrative part of radioco if logged in.

Scroll time configuration not working

If I have understood properly its function (set the starting time of the schedule visualization), the option "Scroll time" is not working properly. It can be set in "Administration" > "Global Settings" > "Calendar Configuration".

Improvement idea for "ending date"

Sometimes people puts an ending date unintentionally. Would it be possible to put a warning message? Something like "Are you sure? From this date on the program won´t appear on the schedule and podcasts won´t be recorded".

Include example about how to configure radioco with jack and lame

In our radio station we use jack as audio system instead of alsa so we needed to configure a setup with jack_capture so this could help other people to include this data in the documentation.

file_extension:mp3
recorder_command:jack_capture -c 2 -p system:capture_* -ws
recorder_command_2:lame -r -b192 --little-endian -q0 -m s -s 44100 --bitwidth 16 --tt [TITLE] --ta [AUTHOR] --tl [ALBUM] --tn [TRACK] --tg [GENRE] --tc [COMMENT] - [OUTPUT]

On the other side, as we record in the same machine of the webserver we finally configured radioco configuring using the "uplodad_folder" setting as the web server folder where we wanted to store the audio recordings and disabled the FTP settings. It is also important that he setting delete_files_after_upload to be False.

TemplateDoesNotExist at /admin/logout/

With the recent update to RadioCo 2.0 user logout stopped working. It apperas and error with the following information, checking the source code the only place where logged_out.html exists is at
django-radio/radio/apps/radio/templates/registration/logged_out.html

This are the differences from this realease files:


django-radio/radio/apps/radio/templates/registration/logged_out.html
django-radio/venv/lib/python2.7/site-packages/grappelli/templates/registration/logged_out.html
django-radio/venv/lib/python2.7/site-packages/django/contrib/admin/templates/registration/logged_out.html

To our previous release files:

radioco/venv/lib/python2.7/site-packages/radio/libs/home/templates/home/logged_out.html
radioco/venv/lib/python2.7/site-packages/django/contrib/auth/tests/templates/registration/logged_out.html
radioco/venv/lib/python2.7/site-packages/django/contrib/admin/templates/registration/logged_out.html

This is the backtrace of the server

Environment:


Request Method: GET
Request URL: https://cuacfm.org/radioco/admin/logout/

Django Version: 1.8.8
Python Version: 2.7.9
Installed Applications:
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'grappelli',
 'filebrowser',
 'django.contrib.admin',
 'django.contrib.sitemaps',
 'django.contrib.humanize',
 'ckeditor',
 'bootstrap3',
 'rest_framework',
 'rest_framework.authtoken',
 'disqus',
 'apps.users',
 'apps.programmes',
 'apps.dashboard',
 'apps.schedules',
 'apps.global_settings',
 'apps.radio')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.locale.LocaleMiddleware')

Template Loader Error:
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
/var/www/html/django-radio/radio/templates/radio/logged_out.html (File does not exist)
Using loader django.template.loaders.app_directories.Loader:
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/contrib/auth/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/grappelli/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/filebrowser/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/contrib/admin/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/contrib/sitemaps/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/ckeditor/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/bootstrap3/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/rest_framework/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/disqus/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/radio/apps/users/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/radio/apps/programmes/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/radio/apps/dashboard/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/radio/apps/schedules/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/radio/apps/global_settings/templates/radio/logged_out.html (File does not exist)
/var/www/html/django-radio/radio/apps/radio/templates/radio/logged_out.html (File does not exist)



Traceback:
File "/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  164.                 response = response.render()
File "/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/template/response.py" in render
  158.             self.content = self.rendered_content
File "/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/template/response.py" in rendered_content
  133.         template = self._resolve_template(self.template_name)
File "/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/template/response.py" in _resolve_template
  88.         new_template = self.resolve_template(template)
File "/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/template/response.py" in resolve_template
  80.             return loader.get_template(template, using=self.using)
File "/var/www/html/django-radio/venv/local/lib/python2.7/site-packages/django/template/loader.py" in get_template
  46.     raise TemplateDoesNotExist(template_name)

Exception Type: TemplateDoesNotExist at /admin/logout/
Exception Value: radio/logged_out.html

Rest API function to get the now playing and the next program.

It would be nice having a simple Rest API with the basic information of the current playing program and the next one, so you can update the information in widgets to include in a website.

Is there any documentation of the current Rest API ? Maybe it is already implemented.

This would be nice to create functions to update Metadata related to icecast streaming.

Removing users

When you want to remove an User, he/she competely disappears from RadioCo, I mean, not only from now on, but also from the past programs he/she actually performed.

Support markup language in text fields

There has been a request from the users about the possibility to include some markup in the description fields available in radioco to include links to images, and enable lists and other different formats available in websites.

It would be useful to support some kind of markup language as could be Markdown. There is some information about how to use Markup in Django Project webpage.
https://code.djangoproject.com/wiki/UsingMarkup

If possible it would be nice some kind of WYSIWYG editor to make easy the use of formating options for non technical users. Here is a list of possible editors here https://www.djangopackages.com/grids/g/wysiwyg/

Publicar los podcast en una url, con un formato gson o similar para una app móvil

Estoy interesado en que la aplicación radioco publicase en una url los podcast para que pueden ser cogidos por una aplicación móvil android:
https://github.com/pablogrela/radiocom-android
Con el siguiente estilo:
"data":[{"_id":"57c801c620c6079304a2dda9","description":"El programa de series en serio","logo_url":"http://image","rss_url":"http://podcastrss","title":"Spoiler"},{"_id":"57c8039b20c6079304a2ddc2","description":"Irmans","logo_url":"http://image","rss_url":"http://podcastrss","title":"Alegría","appId":"radiocom"}].
La idea es integrarlo varias funcionalidades de cuacfm en la aplicación móvil.
@txenoo
@iago1460
@ficiverson

Programes of the Schedule in alphabetical order

When you programe the schedule, the programs on the left column appear in chronological order (first ones are the last ones we add to RadioCo). Now we have 50 programs, and it´s difficult to find the one we are looking for. It would be much easier if the programes where in alphabetical order. Or even to have a Search tool.

Schedule: how to know if a program is live or other.

When you open the public Schedule, people can´t know if the program is live, broadcast or broadcast syndication. There are different colours, but there isn´t an explanation of what they mean. It could be an explanation. Or it could appear (R) following the name of the program when it´s broadcast (for spanish "redifusión" or "repetido").

Possibility to change the available roles in Radioco

Nowadays in Radioco there are 4 roles as people can participate in programs. Presenter, Informer and Contributor. Nowadays in the radio we are deploying the software the principal roles are "Presenter" and "Technician".

It would be good idea the possibility to change easy the roles without edditing radio/apps/programmes/models.py

Is there a better option ?

Users without personal webpage appear in program rol list

When you associate a user to a program but doesn't have enabled the Show personal Web, it's name apperars in the program list of roles. But the link returns a 404 because the user doesn't have a personal webpage.

I think that the best option is filtering in the public view the users that doesn't have a personal webpage enabled. So no broken links are available.

It would be really nice thinking about non-experienced users to show in the program listing list of roles that the user hasn't the webpage enabled so administrators can ask the user to publish the personal webpage.

Support radioco deployment in a Subfolder instead of a Subdomain

We are deploying radioco in a subdirectory but we found some problems that would be nice to be solved because of the use of absolute URLs.

We deploy radioco in the following URL:

https://mydomain.org/radioco/

So we included in the radioco/settings.py the next modifications.

FORCE_SCRIPT_NAME = '/radioco'

STATIC_URL= '/radioco/static/'
MEDIA_URL= '/radioco/media/'

The application works almost perfectly but some static content isn't working with the change:

At this moment we solved it with the next nginx rules:

location /static/radio/ {
    alias /var/www/html/radioco/radioco/static/radio/;
}
location /media/radio/ {
    alias /var/www/html/radioco/radioco/media/radio/;
}

location /radioco/static/ {
    alias /var/www/html/radioco/radioco/static/;
}

location /radioco/media/ {
    alias /var/www/html/radioco/radioco/media/;
}

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.