﻿__group__	ticket	summary	component	milestone	type	created	_description_	_changetime	_reporter
	176	Return behavior after adding media is non-intuitive	ui		defect	2011-08-02T02:04:00Z	"{{{
#!rst
After I add a new piece of media, the site takes me to my profile
page, of all places. Even if I didn't start out on my profile page
when I clicked the 'Submit media' button. How silly.

Two solutions:

1.) After adding new media, always take the user back to their
gallery page. Makes more sense than their profile page--what does
that have to do with their pictures?

2.) After adding new media, take the user back to whatever page
they started out on when they started the media-adding interaction.
This is probably more complicated to code, but it does make adding
media slightly more smooth for the user.



}}}"	2020-05-13T03:36:51Z	Karen Rustad
	244	GIF images work on media pages in most (of my personally experianced) cases, but not all.	graphic design/interface		defect	2011-09-05T17:13:00Z	"{{{
#!rst
When the user uploads an image we convert it to one or two
additional JPEG sizes.


1. We will always create thumbnail.jpg.
2. If the image dimensions exceed one of 640x640px, we will create
   medium.jpg
3. If there exists a medium.jpg file for a media entry, we will
   show it on the media page,
   **else we will display the original file**

This means that GIF images work if the fit within 640x640px

Proposal¶
---------


1. Create GIF thumbnails and medium.jpg if the original is a gif
   image

Possible setbacks with this is that some thumbnails may present a
large download despite it's small size.

Possible solutions to possible setbacks¶
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

It might be possible to resize a preset duration for the thumbnail
animation and create the medium.jpg (if needed) with the full
animation.



}}}"	2012-06-22T20:58:42Z	joar
	341	Simultaneous upload and metadata/description editing	ui		defect	2011-12-04T14:01:00Z	"{{{
#!rst
It would be great that the upload could start for a media file
while I'm adding the title, description, and tags.



}}}"	2015-02-19T05:31:57Z	Greg Grossmeier
	344	Properly localize dates/times	programming		defect	2011-12-05T08:48:00Z	"{{{
#!rst
In the long run GMG should display dates/times in a proper local
format. This might involve enhancing the current translations, so
that the dates/times are positioned correctly.

Useful link:


-  `http://babel.edgewall.org/wiki/Documentation/dates.html <http://babel.edgewall.org/wiki/Documentation/dates.html>`_



}}}"	2014-09-18T21:14:21Z	Elrond
	5613	Configuration for default video quality	programming	0.13.0	defect	2020-05-13T22:38:49Z	"with 0.10 version, a nice enhancement for video quality selection. 3 level are available by default (360, 480 and 720p), is there any configuration to generate only some of them and what matter more for me is could we force a default quality for the user, actually it's the lowest by default, which poorly show quality works for people not knowing how to change the quality...

thanks a lot again,
"	2021-09-19T13:05:14Z	TmCTux
	180	Have a javascript-y autocomplete feature for tags you've used before	ui		enhancement	2011-08-02T02:15:00Z	"{{{
#!rst
If you've used a tag previously and you start typing the first
couple (unique) characters of that tag, we should conveniently
autocomplete it for you.



}}}"	2014-08-21T12:11:52Z	Karen Rustad
	207	Add tag list to user profile	programming		enhancement	2011-08-20T16:38:00Z	"
Currently the left part of the user's profile only contains... the
profile.

It'd be great if below that, we could have a list of tags they've
used.


-  Maybe with a number behind it telling you how many times they've
   been used.
-  If there are a lot of tags, say, more than 20 or 30, the list
   should be cut off.
-  Of course each of these tags should link to the /u/tag/X page
   and list all of the media with that tag.
-  Maybe we can add a ""show all"" link that links to a full page for
   the user's tags. Maybe a tag cloud there?

{{{
    **schendje's profile**¶
    -----------------------

    I like swimming and eating pasta. Preferably at the same time.

    +----------------------------------+
    | **Favorite tags** (show all)     |
    +==================================+
    | spain (8) sky (5) cows (4)       |
    +----------------------------------+
    | portrait (4) self-portrait (3)   |
    +----------------------------------+
}}}"	2016-09-13T09:46:12Z	Jef van Schendel
	227	add multi-tag views	programming		enhancement	2011-09-02T16:28:00Z	"{{{
#!rst
In IRC schendje just reminded me about the multi-tag views that
would be awesome to have:

/tag/bunnies+fangs

May we please have this now?

BONUS: /u/superwoahdude/tag/bunnies - subscribe to a user's tags
BONUS: /u/superwoahdude+awesomewoahman - subscribe to combo of
users
BONUS: /u/superwoahdude+awesomewoahman/tag/bunnies - subscribe to a
tag from a combo of users
BONUS: /u/superwoahdude+awesomewoahman/tag/bunnies+fangs -
subscribe to the intersection of arbitrary lists of users and tags



}}}"	2016-09-13T09:48:20Z	Caleb Davis
	247	Add a language selector	programming		enhancement	2011-09-07T12:24:00Z	"{{{
#!rst
Please add a way to change UI language, overriding Accept-Language.
E.g. a drop-down and/or an URL piece.



}}}"	2013-08-15T16:51:38Z	Aleksej
	263	A way to choose filename different from the before-upload one	programming		enhancement	2011-09-16T15:22:00Z	"{{{
#!rst
An uploaded file currently uses the name it had on the uploader's
computer, with no other way to change that than changing the local
name before uploading.

That's a privacy issue, since the uploader may not expect for the
local name to become public, and will not necessarily notice it
soon.

MediaWiki uses a good solution usable with what GMG does:
after the local file is chosen but before it is uploaded, if JS is
enabled, it shows the original file name, lets the uploader edit
it, and uses the result (replacing spaces with underscores).



}}}"	2012-08-13T17:31:41Z	Aleksej
	267	counter to display access of media (showing the number of views)	programming		enhancement	2011-09-19T13:38:00Z	"{{{
#!rst
what I missed - as new user to mediagoblin:

a counter how often the media was accessed
(though that could be done with a external counter also)



}}}"	2016-10-06T11:08:05Z	Erkan Yilmaz
	320	Video: Extract and save poster image	programming		enhancement	2011-11-17T17:15:00Z	"{{{
#!rst
In HTML5 video, there's a poster attribute on the tag, it contains
the URL to an image that should be shown initially before the
player has started.

POSTER IMAGE DIMENSIONS
Fetch from encoded video. It's available on the instantiated
VideoThumbnailer in the dst\_data after encoding the video.

EXTRACTING THE IMAGE
We should perhaps use the VideoThumbnailer. IIRC it's possible to
pass custom dimensions to it.



}}}"	2013-04-23T20:41:55Z	joar
	385	Show the original’s file size and dimensions on the file page	other		enhancement	2012-01-28T13:30:00Z	"{{{
#!rst
Currently there is no indication of the original's file size or
dimensions.



}}}"	2012-06-09T14:00:11Z	Aleksej
	260	A way for a reader to see thumbnails/resized versions in other sizes	programming		enhancement	2011-09-16T13:54:00Z	"{{{
#!rst
The reader should be able to view galleries and image pages with
the images resized to other sizes than a single default one: it is
not possible for the browser to scale thumbnails up infinitely
without losing their quality.

Examples:


-  Flickr has at least ""small"" and ""medium"" gallery views, and
   several sizes for viewing and downloading of individual images.
-  MediaWiki allows registered users to choose from several
   thumbnail sizes for viewing of pages, and to generate a thumbnail
   of any size.



}}}"	2012-08-13T17:32:26Z	Aleksej
	268	display where media is used (on external locations)	programming		enhancement	2011-09-19T13:52:00Z	"{{{
#!rst
reason:
the more the media is used/(reused as mix) the higher the
importance probably
for me as creator as well as observer this would be a nice to have

implementaion:
- trackback (as with blog posts)? perhaps over an additional
service where people can send a ping to when they use the media?
- a bot which scans for media + indexes them somehow?



}}}"	2015-02-19T04:51:17Z	Erkan Yilmaz
	346	Keyboard shortcuts	programming		enhancement	2011-12-06T15:55:00Z	"{{{
#!rst
It would be great to have the interface accessible via keyboard
shortcuts.

Examples
- Links such as
- Logged in user
- Log out
- Login
- Forms
- Picture navigation
- Pagination

I like the way FogBugz has done it, you click Ctrl+, and it shows
the shortcut character for each of the links/subsections/inputs.
You then click the shortcut character to activate the control. Of
course, that does not fit for all things, such as media
navigation.

Input is welcome. (ahah, pun intended)



}}}"	2018-04-19T14:04:06Z	joar
	348	Ads support with Open X	other		enhancement	2011-12-07T14:09:00Z	"{{{
#!rst
I think that at some time we will need to include ads support, and
that for this it could be ideal the open-source advertising server
OpenX.

I've written more details in my wiki user page, since I think this
will need a lot of literature:
`http://wiki.mediagoblin.org/User:Manolinux#Openx\_support <http://wiki.mediagoblin.org/User:Manolinux#Openx_support>`_

Tell me your opinion here or by IRC.



}}}"	2012-03-02T13:49:22Z	Manolinux aka Mu
	351	Markdown editor	programming		enhancement	2011-12-08T18:08:00Z	"{{{
#!rst
Add a markdown editor for textareas which use markdown (to improve
user experience). Solutions exist under *possibly* free licenses.
Most are based off StackOverflow's reversed engineered WMD editor
(which might or might not be under a free license). Original
reverse engineering project:
`https://github.com/cky/wmd/tree <https://github.com/cky/wmd/tree>`_
(with 112 forks)

So implementation is in three steps:


-  Check with lawyers about possible implications of using a
   reverse engineered WMD editor version
-  If OK, find a good fork which suits MediaGoblin's needs
-  Find all markdown input fields in code and add the editor (along
   with tweaking and making it pretty)



}}}"	2013-03-25T06:45:07Z	Tryggvi Björgvinsson
	417	JavaScripts and WTForms messages are not translated	programming		defect	2012-03-25T21:15:36Z	The strings in the !JavaScripts (e. g. `show_password.js`) and the !WTForms messages (e. g. “Invalid Input”) cannot be translated right now.	2023-01-12T09:29:34Z	Jakob Kramer
	418	Leave slug empty until we are sure media processing was successful	programming		defect	2012-03-27T20:56:31Z	We should leave the ''slug'' field of a media entry empty until we are done processing and only set it if processing was successful.	2018-04-19T13:56:23Z	joar
	465	Cannot delete attachments	programming		defect	2012-07-07T19:56:24Z	"Attachments cannot be deleted without deleting the whole ""medium."""	2015-01-20T17:08:59Z	Jakob Kramer
	508	You shouldn't have to upload a whole file to find out mediagoblin doesn't support it	programming		defect	2012-10-13T15:00:10Z	"I'm not really sure the best way to solve this, but we had a user who spent an hour attempting to upload a video only to get the message ""sorry, but I don't support that file"".  I'm not sure what the best way to prevent this is... maybe we could pass up a list of file extensions we know we support?  That's not really great either though considering the ""catch all"" or ""catch conditionally"" media type option we currently have.  So, not really sure.  But we should definitely deal with it."	2016-09-18T02:07:37Z	Christopher Allan Webber
	692	Proper documentation on how to author tests	documentation		defect	2013-05-04T20:39:08Z	"We need better documentation on how to author unit tests.  This should go in {{{docs/source/devel/}}} on its own page, maybe ""writing tests"" or some such.

The following should be mentioned:
* How to run tests (even though this is covered elsewhere)
* What tools we use (pytest, webtest)
* A simple ""writing a unit test"" example
* Show to pass an application fixture into a test
* Show how to set it up with different configs (I can explain this on IRC)
"	2014-07-23T15:59:26Z	Christopher Allan Webber
	1004	Videoplayer has wrong height for videos with width>640	programming		defect	2014-10-20T16:28:12Z	"It is possible to skip transcoding videos that are larger than 640 pixels in some dimension. For instance, this way a user can upload 1280x720 webm videos without transcoding them to smaller. However, there is a bug in the player for these videos.

If a video is wider than 640 pixels, the width of the videoplayer is scaled to 640 pixels but the height of the videoplayer is the same as of the video. Thus, for a 1280x720 video, the player has size 640x720, leaving black bars on top and bottom of the video. Fullscreen obviously works fine.

A sketch of a solution:
HTML video player is scaled appropriately if only width or height is given. Thus, give the width as min(width,640) and let the height be chosen automatically.

Modify the video tag in the template mediagoblin/templates/mediagoblin/media_displays/video.html:
{{{
<video controls
          {% if global_config['plugins']['mediagoblin.media_types.video']['auto_play'] %}autoplay{% endif %}
          {% if media.media_data.width > 640 %}width=640{% else %}width={{ media.media_data.width }}{% endif %}
          preload=""auto"" class=""video-js vjs-default-skin"">
}}}

A few things to consider:
 * I hardcoded 640, but it should be retrieved somehow.
 * I removed data-setup because it breaks this fix and I think it's not valid HTML"	2016-07-22T16:02:24Z	Jaakko Luttinen
	1063	Impeller should upload photos	programming	1.0	defect	2014-12-11T14:42:24Z	"It would be great to get it so that you could upload photos to mediagoblin via Impeller. Currently however you can't even get through the OAuth. It initially looked like Impeller was site scraping however it would seem:

/from #pump.io on Freenode/
{{{
<jessica_lily> XgF: I'm wondering how possible it would be to change the site scraping behaviour of impeller with regards to the verifier? or at least provide some kind of fallback which allows you to copy and paste the verifier and enter it manually
<XgF> Jessica_lily: eh? Impeller expects a redirect to a https uri with the verifier. When it detects that, it closes the web view and does the background oauth flow
}}}

"	2017-07-01T20:53:47Z	Jessica Tallon
	1070	Handling languages Babel currently doesn't (Na'vi, Lojban)	infrastructure		defect	2014-12-12T21:35:24Z	"Currently, Babel doesn't support languages like Na'vi, Lojban.  The unfortunate side effect of this is that when our language tooling hits these languages, it explodes.

Looking into how to fix this, it looks like Babel [https://github.com/mitsuhiko/babel/blob/master/scripts/download_import_cldr.py#L16 downloads] the [http://cldr.unicode.org/ CLDR data] on languages, and this is used to populate a big ol' dictionary which is stored in [https://github.com/mitsuhiko/babel/blob/master/babel/localedata.py#L22 babel.localedata:_cache].  Unfortunately, while we *can* monkeypatch this variable (simply [https://github.com/mitsuhiko/babel/blob/master/babel/localedata.py#L51 load('en_US')] once then append 'jbo' or etc to the dictionary), the value we would have to supply is a very, very complex data structure, and I doubt we could provide it correctly.  This value is extracted by Babel during the [https://github.com/mitsuhiko/babel/blob/master/scripts/download_import_cldr.py CLDR data downloading/importing process] and it is a non-trivial exercise.

I [https://github.com/mitsuhiko/babel/issues/30#issuecomment-66796699 filed a bug looking for a workaround for unidentified languages], but I think a workaround will be hard given the large amount Babel relies on this data.  So, probably, we will need to supply CLDR data, but that data is too complex to just write by hand.

One way or another (monkeypatching or not), in order to supply these, we need the proper CLDR data.  I spoke to someone involved in the process, and found two things:

* They are welcome to contributions of Na'vi and Lojban to their catalog, and there is a [http://cldr.unicode.org/development/new-cldr-developers new contributor page]. We should (and likely will) do this.  Probably, the process for getting things officially will take some time.
* In the meanwhile, while going through the process to generate those, we should be able to get the appropriate files to run through the necessary tooling to generate the data we need.
"	2016-01-09T22:36:44Z	Christopher Allan Webber
	5483	audio player is not accessible with screen readers	graphic design/interface		defect	2016-10-17T15:03:46Z	"Hi,
I am blind, so use a screen reader to access the web. However, your audio player (not sure about video) is inaccessible with them. For example, the play button shows to my screen reader as a clickable of 'black up pointing small triangle"" which is not very descriptive. However, when I do click on the triangle, the pause button is a symbol that my screen reader cannot recognize, which simply speaks as clickable. This is on windows, using jaws for windows. I haven't tested with NVDA (an open source screen reader), but with orca on linux, the clickable isn't even seen at all, and there is no way to play the audio.
For audio (and video, possibly) I can recommend able player (https://ableplayer.github.io/ableplayer/) as an alternative that is guaranteed to be accessible if done right. IT could also introduce new features, such as closed captions and transcripts on videos.
Thanks,
-Michael.
"	2016-10-18T22:32:48Z	Michael Taboada
	5485	Audio player controls not announced to Orca screenreader	graphic design/interface		defect	2016-10-18T19:43:41Z	"As reported on the Orca Mailing List: https://mail.gnome.org/archives/orca-list/2016-October/msg00113.html

there is at least one instance with an inaccessible video player control:
http://vidstorm.tk/u/storm_dragon/m/the-insane-song/

Looking into the Markup it looks like audio.js is the problematic bit:
http://git.savannah.gnu.org/cgit/mediagoblin.git/tree/mediagoblin/static/js/audio.js

The user reported it in https://mail.gnome.org/archives/orca-list/2016-October/msg00120.html as

""There are no controls, no play, stop, pause, anything other than the slider, which itself is unlabeled.""

A good entry point was suggested in https://mail.gnome.org/archives/orca-list/2016-October/msg00121.html

What led to the decision of using/writing this audio.js?
Where there alternatives to be considered?"	2016-10-18T22:19:01Z	André Jaenisch
	400	Media licensing should be human readable	programming		enhancement	2012-03-12T18:08:42Z	"When uploading media, the licensing options don't give enough information for most people to make an informed choice.

The current list is:
All rights reserved
CC BY 3.0
CC BY-SA 3.0
CC BY-ND 3.0
CC BY-NC 3.0
CC BY-NC-SA 3.0
CC BY-NC-ND 3.0
CC0 1.0
Public Domain

Propose better options, helptexts, or perhaps a block of text that changes based on your choice."	2020-05-14T13:12:11Z	Sacha
	409	oEmbed support	programming	1.0	enhancement	2012-03-19T11:23:40Z	"nowadays social networking platforms make heavy use of oEmbed for sharing media content in personal activity streams, open platforms like statusNet, diaspora or buddycloud use it as well as big brothers like facebook, tweeter etc.

http://oembed.com/#section7

from xp in diaspora your service should have support for https, please see this issue: https://github.com/diaspora/diaspora/issues/2342#issuecomment-4525027"	2017-07-01T20:54:37Z	elf Pavlik
	467	write test scaffolding for core plugins	programming		enhancement	2012-07-13T13:02:47Z	"The core plugins need some additional test scaffolding to make it easier to write core plugin tests.

Why?

Well, so, the problem is that mediagoblin configuration is global and also which plugins are running is also global. There's a bunch of setup/cleanup that needs to get done. It should go in scaffolding to make it easier to deal with."	2016-09-18T11:46:29Z	Will Kahn-Greene
	486	Drag and drop media uploading support	programming		enhancement	2012-08-19T14:25:48Z	"We should add drag and drop media uploading support to MediaGoblin.  Plenty of other applications (including OpenPhoto) have this; why not us?

https://developer.mozilla.org/en-US/docs/DragDrop/Drag_and_Drop

It might be worth discussing whether or not we want to do some other overhauls to make our upload page more dynamic as well, but just supporting dragging and dropping minimally might be a good first step.

Not sure if this should be a plugin or not?  I think probably not but would be interested in what others would think."	2016-01-14T09:39:59Z	Christopher Allan Webber
	551	Create test that makes sure all migrations are sane	programming		enhancement	2012-11-26T22:35:54Z	"We should have a unit test that instantiates the tables at their first, pre-migration state (basically right after the move to SQL, commit ce29c140ed90fe0e19ed1b68ca8f7cf27aa03e8e) and runs all migrations, then creates a new database and instantiates the models at their current state, and sees if they match.  If they don't, the test should fail.

Note: we can't test for constraints in sqlalchemy, but we should otherwise be able to test to moderately general migration sanity.

(Bonus points if it adds a user and a couple of media entries with appropriate media files, etc, but not required to close this bug.)"	2015-02-19T04:51:25Z	Christopher Allan Webber
	567	Support For Ogg Vorbis+Theora	programming		enhancement	2012-12-14T05:37:06Z	"It appears that recordings added are converted to WebM (Vorbis + VP8 inside the modified Matroska container.) Can you please add support to instead encode into Ogg Vorbis + Theora? Every browser that has built-in support for WebM also has support for Ogg Vorbis + Theora but the reverse is not true, giving Ogg Vorbis + Theora greater browser compatibility.

Add to this that the Java Cortado applet [0] can be used as a fallback method means that browsers as far back as Netscape 4 can play these files.

[0] http://www.theora.org/cortado/"	2017-03-09T22:03:16Z	Jason Self
	613	Improving Media collection	programming		enhancement	2013-01-31T16:52:12Z	"Summary of changes : 

Basically, to idea is to replace the tedious process to add medias to collection. It's done, by putting the form where media are.
- When you submit a media
- When you are on a media's page.

The ""add to collection"" page no longer exists (yet I haven't removed anything that whould allow it to work... up to you).

TEMPLATES 

- The media_collect.html has been splitted to be used as a stand alone or as par of another form (start.html). The media's information has been removed, it's now contextual. 

- The ""embeddable form"" is in utils/collection_form.html

- submit/start.html embeds the form above

VIEWS

The ""add to collection"" method has been put in tools/collection.py so it can be called from the ""submit a media form"" and from within the media page.

- in user_pages/views.py
  - media_home : adding the collection form
  - media_collect : it calls the collection_tools method instead 

- in submit/views.py : calls the collection_tools method, passing the new media's data

I've slightly changed the behavior when you type an existing collection : it add the media to the existing collection instead of showing an error. It was mainly because I couldn't find a way to reload the media entry page without losing the filled form. Moreover, it's a smoother way to handle the error. 
 
Here are the changes

https://github.com/MusiqueLibre/DogmaGoblin/tree/collection_improvement"	2015-02-19T05:11:18Z	Tumulte
	734	Document the config options available in config_spec.ini	documentation		enhancement	2013-07-12T19:08:42Z	It would be nice if we had all of the config options documented in one place.	2017-02-09T21:50:28Z	rodney757
	782	Spectogram should be created client side	programming		enhancement	2013-09-29T17:10:56Z	Mediagoblin should get the the data use in the spectrogram from the file, but the actual rendering should be passed to the browser and done client side. 	2015-02-19T05:10:57Z	Simon Fondrie-Teitler
	1086	Add CAPTCHA support	infrastructure		enhancement	2015-01-11T23:28:45Z	Add template and authentication hooks to enable CAPTCHA plugins to be easily integrated.	2016-01-15T16:09:59Z	ayleph
	5319	support for HQ videos	programming		enhancement	2015-05-20T21:23:43Z	"Hey there, i tryed to let the Transcoder transcoding in better Quality (1080p).
So i use this options for example:

{{{

# vp8enc options
self.destination_dimensions = kwargs.get('dimensions', (1080, 1080))
self.vp8_quality = kwargs.get('vp8_quality', 10)
}}}


...in the transcoding.py

After assetlink and dbupdate, there has nothing changed.
I think the handling of videos on ""Media""goblin is a big problem.
You cant enjoy Videos in that damn bad quality!

----

So i think, okey lets transcode to webm Files on the Client PCs before uploading - no, you can forget it! 
The Player Interface is a bad Joke on untranscoded Files! 
Here an Example of 1080p WebM: https://media.tchncs.de/u/milan/m/test/

I understand, that the Player dont let you switch in Resolutions.
But damned, so let us please configure in which Quality Videos can uploaded by users..."	2016-02-16T21:45:51Z	Boris Bobrov
	458	Functional testing via selenium, phantomjs, or similar	programming		task	2012-06-02T17:06:44Z	"It would be good to have a way to run functional tests that mimic user behavior and tie them into our unit testing commands.

We should probably use a tool like [http://phantomjs.org/ PhantomJS] or [http://seleniumhq.org/ Selenium].  And then of course we should have some tests. :)

I'm marking the priority as low at the moment because I think it's not as critical at the moment given everything else going on."	2016-01-14T09:38:09Z	Christopher Allan Webber
	598	Support for UTF-8 paths	programming		task	2013-01-15T15:26:41Z	"On a fresh GMG install I get the following error for a UTF-8 path:

{{{
[tct@turbureanu mediagoblin-ceata]$ pwd
/home/tct/Descărcări/mediagoblin-ceata
[tct@turbureanu mediagoblin-ceata]$ ./bin/gmg dbupdate
Traceback (most recent call last):
  File ""./bin/gmg"", line 8, in <module>
    load_entry_point('mediagoblin==0.3.3.dev', 'console_scripts', 'gmg')()
  File ""/home/tct/Descărcări/mediagoblin-ceata/mediagoblin/gmg_commands/__init__.py"", line 100, in main_cli
    args.func(args)
  File ""/home/tct/Descărcări/mediagoblin-ceata/mediagoblin/gmg_commands/dbupdate.py"", line 129, in dbupdate
    global_config, app_config = setup_global_and_app_config(args.conf_file)
  File ""/home/tct/Descărcări/mediagoblin-ceata/mediagoblin/init/__init__.py"", line 47, in setup_global_and_app_config
    global_config, validation_result = read_mediagoblin_config(config_path)
  File ""/home/tct/Descărcări/mediagoblin-ceata/mediagoblin/init/config.py"", line 80, in read_mediagoblin_config
    validation_result = config.validate(validator, preserve_errors=True)
  File ""build/bdist.linux-x86_64/egg/configobj.py"", line 2295, in validate
  File ""build/bdist.linux-x86_64/egg/configobj.py"", line 2250, in validate
  File ""build/bdist.linux-x86_64/egg/configobj.py"", line 570, in __getitem__
  File ""build/bdist.linux-x86_64/egg/configobj.py"", line 562, in _interpolate
  File ""build/bdist.linux-x86_64/egg/configobj.py"", line 365, in interpolate
  File ""build/bdist.linux-x86_64/egg/configobj.py"", line 352, in recursive_interpolate
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 14: ordinal not in range(128)
}}}"	2015-02-19T03:37:26Z	Tiberiu C. Turbureanu
	220	RTL (right-to-left) language support.	programming		defect	2011-08-28T12:46:00Z	"{{{
#!rst
We need RTL (right-to-left) language support in MediaGoblin.

Presumably this requires:


-  Pushing a variable into the general template context specifying
   whether the current language is LTR or RTL
-  Making an RTL stylesheet
-  ... other things?

I'm assigning Osama Khalid to this ticket. Osama, you don't have to
do this necessarily, but at least please give advice on what needs
to be done (you can unassign yourself then if you like).



}}}"	2014-02-20T17:02:04Z	Christopher Allan Webber
	530	Airy: audio player’s time indicator is low-contrast	graphic design/interface		defect	2012-11-05T10:52:49Z	See the bottom-right angle of the player at https://gobblin.se/u/selknam/m/impulse-by-silenwater-from-still-power/	2014-05-05T16:42:12Z	Aleksej
	591	Default theme handles thumbnails for small pictures poorly	graphic design/interface		defect	2013-01-10T12:42:03Z	"The default theme handles small images poorly. Screenshot: http://pix.toile-libre.org/upload/original/1357821395.png

The title should always be on the bottom to make browsing many pictures in a row easier. The thumbnail should be vertically centered in the remaining space."	2016-09-18T02:11:02Z	"Sergey ""Shnatsel"" Davidoff"
	593	Thumbnails of portrait images have inconsistent padding	graphic design/interface		defect	2013-01-10T13:15:46Z	"Thumbnails of portrait images have padding on every side except on top, which makes them look off. Screenshot: http://pix.toile-libre.org/upload/original/1357823610.png

Perhaps adding a separator between the title and the image will fix this, so that the thumbnail will no longer look like it has padding on the bottom."	2016-09-18T02:12:52Z	"Sergey ""Shnatsel"" Davidoff"
	720	"""file correctly uploaded"" bar is misleading"	graphic design/interface		defect	2013-06-20T14:34:42Z	"With my new fresh installation of MG I added a sample picture.
Then the system said on the green bar ""file correctly uploaded""
but in the same page there was also written ""you haven't already added files""

Screenshot attached.
I'm currently testing the dave thompson 421-mysql branch which is up to date with master."	2016-01-14T09:40:16Z	Danilo Tomasoni
	777	Not possible to edit collection item notes	graphic design/interface		defect	2013-09-25T13:59:31Z	"When adding media to a collection one can add a note. Currently there is no way to edit that note. Clicking ""add to collection"" on the media and selecting the same collection, one gets a ""this media is already in the collection"" error message. Instead one should get redirected to a form field, that lets one edit the relationship."	2013-11-22T14:51:02Z	spaetz
	823	Ugly previews of scaled indexed images	programming		defect	2013-12-27T13:33:40Z	"Previews of images using an indexed color mapping can become very ugly if the original image needs to be scaled down. For example:

[[Image(http://barn.kerosenecow.net/mgoblin_media/media_entries/435/indexed-degradation.png)]]

This degradation is inherent to scaling indexed images and though the result may vary depending on the scaling algorithm used (NEAREST, BILINEAR, BICUBIC, or ANTIALIAS), scaling will always result in degradation. 

Of the file types that Mediagoblin supports, PNG and TIFF files may or may not use indexed color mapping, while GIF files always use indexed colors.

One way to improve the quality of such scaled previews is to convert the image to the RGB color space before scaling. 

"	2016-10-05T06:19:26Z	saul
	5318	cannot write mode P as JPEG	programming		defect	2015-05-04T00:31:46Z	"A user tried to upload an image which produced the following error. A stackoverflow thread mentions converting to RGB space.

https://stackoverflow.com/questions/21669657/getting-cannot-write-mode-p-as-jpeg-while-operating-on-jpg-image

{{{
(mediagoblin-0.8.0) ~/mediagoblin $ bin/gmg reprocess run 4028 initial
DEBUG:mediagoblin.processing.task:Processing <MediaEntry 4028: otters>
ERROR:mediagoblin.processing.task:An unhandled exception was raised while processing <MediaEntry 4028: otters>
WARNING:mediagoblin.processing:No idea what happened here, but it failed: IOError('cannot write mode P as JPEG',)
WARNING:mediagoblin.processing:No idea what happened here, but it failed: IOError('cannot write mode P as JPEG',)
Traceback (most recent call last):
  File ""bin/gmg"", line 9, in <module>
    load_entry_point('mediagoblin==0.8.1.dev0', 'console_scripts', 'gmg')()
  File ""/path/to/mediagoblin/mediagoblin/gmg_commands/__init__.py"", line 142, in main_cli
    args.func(args)
  File ""/path/to/mediagoblin/mediagoblin/gmg_commands/reprocess.py"", line 293, in reprocess
    run(args)
  File ""/path/to/mediagoblin/mediagoblin/gmg_commands/reprocess.py"", line 205, in run
    reprocess_info=reprocess_request)
  File ""/path/to/mediagoblin/mediagoblin/submit/lib.py"", line 257, in run_process_media
    task_id=entry.queued_task_id)
  File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/task.py"", line 547, in apply_async
    link=link, link_error=link_error, **options)
  File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/task.py"", line 739, in apply
    request=request, propagate=throw)
  File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/trace.py"", line 355, in eager_trace_task
    uuid, args, kwargs, request)
  File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/trace.py"", line 253, in trace_task
    I, R, state, retval = on_error(task_request, exc, uuid)
  File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/trace.py"", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File ""/path/to/mediagoblin/mediagoblin/processing/task.py"", line 101, in run
    processor.process(**reprocess_info)
  File ""/path/to/mediagoblin/mediagoblin/media_types/image/processing.py"", line 318, in process
    self.generate_thumb(size=thumb_size, filter=filter, quality=quality)
  File ""/path/to/mediagoblin/mediagoblin/media_types/image/processing.py"", line 221, in generate_thumb
    filter, size)
  File ""/path/to/mediagoblin/mediagoblin/media_types/image/processing.py"", line 125, in resize_tool
    quality, filter)
  File ""/path/to/mediagoblin/mediagoblin/media_types/image/processing.py"", line 81, in resize_image
    resized.save(resized_file, quality=quality)
  File ""/path/to/mediagoblin/lib/python2.7/site-packages/PIL/Image.py"", line 1682, in save
    save_handler(self, fp, filename)
  File ""/path/to/mediagoblin/lib/python2.7/site-packages/PIL/JpegImagePlugin.py"", line 571, in _save
    raise IOError(""cannot write mode %s as JPEG"" % im.mode)
IOError: cannot write mode P as JPEG
}}}"	2020-05-12T03:21:21Z	ayleph
	82	"""safety level""/ or some type of data for (mature) content moderation"	programming		enhancement	2011-05-30T18:41:00Z	"{{{
#!rst
See
`http://www.flickr.com/help/filters/ <http://www.flickr.com/help/filters/>`_
but without the gendered ""your mom"" stuff. Let's not gender our
safety levels :)



}}}"	2016-10-08T12:56:27Z	Christopher Allan Webber
	126	sharing and permissions	programming		enhancement	2011-07-03T14:03:00Z	"{{{
#!rst
There is a mapping between the items in your collection and the
individuals allowed to view them. Those are permissions.

We'll begin implementing these by assigning each media entry an
array of authorized viewers, listed by username. Eventually, these
could be openids for federation, but that's beyond the scope of
this ticket.

Because writing a list each time you submit an item would give us
the blues, we'll have a default list editable by the user. That
list of users will be used to populate the permissions array on the
item.

Now, you may not always want the default list, so it's important to
make it easy to specify which of your 10 million fans get to see
your cat with whip cream on its head. For that, each user will be
able to maintain groups of individuals. These groups can be given
any name. Suggestions would be friends, family, etc. Those will be
enabled by default but can be removed in favor of other group
names.

So, when creating an item, you see an array of labels representing
your default sharing profile. It could be as simple as 'everyone',
or as complex as you like. Modify the sharing labels by adding or
removing individual names, or group names. Individuals and groups
can also be added to specifically exclude, but let's save that for
a future ticket.

When you submit the item the labels are interpreted and converted
to individuals for the item's permissions array.

When called upon for viewing, the item looks up the viewer in its
permissions array and allows viewing or coyly stays hidden,
depending on whether the viewer gets to see the item. This should
apply for every view - galleries, thumbnails, etc.

The fun part is that the groups the user maintains may be flagged
as private. This means you don't have to pull your hair out trying
to be political about who gets to be in which group. Chris's
example is great -

::

    SmoothBro might not show off his ""saturday night swingers"" group publicly because maybe he doesn't even want people to know about that, esp his parents.

Breathe in. Breathe out. Explore the space!

This ticket does not cover notifications, only viewing
permissions.



}}}"	2016-09-15T09:47:37Z	Caleb Davis
	162	add quoting support to tagging	programming		enhancement	2011-07-25T00:09:00Z	"{{{
#!rst
Tagging (`#360 </issues/360>`_) needs to be iterated on. This
ticket addresses support for quoting. What are the expected
behaviors? In the following examples, user input is underlined, and
resulting tags are indented.


-  In the simple case (assuming comma-delimited text), the user has
   a single pair of quotes embedded within the input, such as:
   meta,'yo dawg, I heard you like delimiters...',humor

    u'meta'


    u'yo dawg, I heard you like delimiters...'


    u'humor'



-  what about mixed quotes? (eg user wants *you're* in the tag)
   meme,""I don't even..."",humor

    u'meme'


    u'I don't even'


    u'humor'



-  then, as Will noted in IRC, some users may wish to tag using xml
   or hierarchical organization schemes. At what point does supporting
   quoting become complex enough to warrant using a plugin?

**tl;dr - introduce support for tag delimiter(s) within a tag. Efforts towards native gmg support go here. Add a new ticket for plugin work**

Feel fix this ticket if I'm missing the point or the point is not
clear.



}}}"	2016-09-16T02:44:27Z	Caleb Davis
	234	Add RDFa to HTML output	programming		enhancement	2011-09-03T12:53:00Z	"{{{
#!rst
RDFa provides a way to encode machine readable information in HTML.
We should add support for basic information to our HTML output.


-  creator
-  title
-  publication date
   ...



}}}"	2016-10-06T10:58:29Z	nyergler
	364	Shotwell integration with mediagoblin API	programming		enhancement	2011-12-20T15:13:00Z	"{{{
#!rst
This is obviously somewhat preliminary, as we don't have an API
quite yet as I'm writing this, but...

We certainly want to integrate with all sorts of devices, but
Shotwell would be a fantastic starting point as they're FaiF, come
in near every gnome-oriented distro preinstalled, have similar
goals, and have expressed interest in bundling a mediagoblin
plugin.

`http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins <http://redmine.yorba.org/projects/shotwell/wiki/ShotwellArchWritingPlugins>`_



}}}"	2016-01-14T09:41:27Z	Christopher Allan Webber
	499	the avatar image is necessary	programming		enhancement	2012-09-19T03:39:51Z	need an option to upload an avatar, I think something elemental.	2014-10-19T18:28:39Z	Charlie Vegan
	519	A way to link to a position in a video/audio (timestamp)	programming		enhancement	2012-10-17T13:59:04Z		2014-07-24T14:04:36Z	Aleksej
	635	"REQUEST: Add a ""like"" (and maybe dislike) function"	graphic design/interface		enhancement	2013-02-14T02:58:10Z	"Like the summary says. It would be neat (and super simple) to have a ""like"" button (or maybe love/heart/4 or 5 star rating) for all kinds of media.

Or, someone could use this ticket to educate me why this isn't such a good idea, despite so many the big media sharing sites having this feature."	2016-01-14T09:41:04Z	Andrew Ter-Grigoryan
	638	meta-decorator hooks / emacs-lisp style advice	programming		enhancement	2013-02-14T20:52:57Z	"This is an incredibly evil and flexible idea that, like decorators itself, is probably elegant, hard to understand, powerful, and yes, a little bit evil.

So this is an idea inspired from emacs lisp, which allows you to pass in functions to wrap a function that already exists (this is called ""advising functions"").  Actually, hooks in emacs look a heck of a lot like decorators, so actually...

Say you have this function:

{{{
  @meta_decorator_hook('some_function_hook')
  def some_function(foo):
     bla bla
}}}

Now, you want to wrap this function!  But how do you wrap it?  It's already defined, you can't just wrap arbitrary things around it! ... or can you?

In this meta_decorator_hook, the meta_decorator_hook returns a lazy-loaded method set to actually construct a chain of wrapped methods.  So if we did something like:

{{{
  pluginapi.wrap_function('some_function_hook', our_function)
}}}

.. it would return, basically a WrappedFunction() that, the first time it is executed, walks through all the decorator like methods that have been pushed onto that hook and wraps them in each other. That meta-decorated method is cached, and eventually, executed.

Sounds evil, right?  :)

This could be super powerful though.  You could do crazy things like double-check the results of a view before returning it, or totally override the view and decide not to call it at all for your plugin, call it both before and after, or set up special-case exception handling for hooks that are called within the function itself.

I'm sure I didn't make that sound any less evil, but I think it'd be really great."	2013-07-11T18:25:09Z	Christopher Allan Webber
	653	Add capability for embed codes to show media on other websites	programming		enhancement	2013-03-08T00:09:39Z	"I'm looking for the ability to provide my mediagoblin users the ability to copy and paste a snippet of code - a la youtube or vimeo - to display media in another website.

Without having researched it, I'd imagine what would probably be done for video is some sort of iframe? Or alternatively, a javascript snippet with parameters that add the video.js player to the existing page and then includes the video element in its place. I could look at how other video players handle this too.

For images, it's pretty trivial once the infrastructure for configuring and displaying the embed code is in place."	2016-09-27T01:30:04Z	Nick
	673	Anonymous Commenting	programming		enhancement	2013-03-27T21:13:51Z	"Directly related to #525 I came across the idea of allowing users to accept anonymous comments on their pages which also led me to the idea of allowing users to moderate what comments can be shown on their page (by letting them approve comments before they are shown). 

This required some DB/frontend/backend changes.

My first commit so far has included the ability to comment anonymously. My next goal is the comment moderation ability per-user and then looking at how the system works as a whole and sprucing up as needed.

You can follow my progress here:

https://gitorious.org/~lotusecho/mediagoblin/lotusechos-mediagoblin/commits/Anonymous_Commenting

"	2016-01-14T09:38:18Z	Emily O'Leary
	696	Version checking against MediaGoblin for plugins	programming		enhancement	2013-05-08T14:24:37Z	It would be nice if plugins could verify that they're compatible with the running version of MediaGoblin before they're turned on.	2016-01-12T22:51:20Z	Christopher Allan Webber
	870	new media don't appear directly	programming		enhancement	2014-04-19T18:14:05Z	"after i uploaded a file, i get redirected to my profile and see a success message but i don't see the uploaded media.

if i reload once again, it is there. this shouldn't be necessary.

of course videos need time to get transcoded, but it can display a thumbnail and on the media page a message, that the video transcoding has not finished yet, maybe with progress or link to overview."	2016-09-20T01:08:11Z	davidak
	5434	Lightbox effect for images	graphic design/interface		enhancement	2016-03-02T17:07:20Z	Adding lightbox effect for images would be a good enhancement.	2021-04-09T06:18:11Z	Saksham Agrawal
	350	"Document what ""Category"" options are"	documentation		task	2011-12-08T13:58:00Z	"{{{
#!rst
This is meta; I was wondering if we could get an explanation in the
Redmine wiki as to what the categories refer to. I get
**Documentation**, **Feature idea** and **Graphic design/UI**. I
don't quite understand the difference between **Infrastructure**
and **Programming**.

Per `#699 </issues/699>`_, I would be happy to document that, if
someone explained the last two to me.



}}}"	2016-01-14T09:40:26Z	maiki interi
	714	"""Change forgotten password"" e-mail subject is not localizable"	graphic design/interface		defect	2013-05-31T01:08:01Z	"Subject: ""GNU MediaGoblin - Change forgotten password!"" is not translatable."	2016-01-14T11:13:54Z	Aleksej
	164	"Consider cache ""table"""	programming		enhancement	2011-07-26T15:33:00Z	"{{{
#!rst
Currently, computed (processed) data is stored alongside ""original""
data in the database. Most notable example are comments and the
rendered html for them.

There are various reasons for not storing them at the same place:


-  If the options for processing (the created html) changes, a
   migration must be added to convert all existent entries. Or if the
   user changes the options, they have to let every entry be updated.
   Think of large installations! With a cache style setup, one simply
   drops the cache and it will be recreated as needed.
-  It's cleaner layout of the db.
-  Also maybe an option for backup: Many people only want the
   ""original"" stuff in the backup, as everything else can be
   regenerated as needed.

An alternative is to drop the pre-rendered stuff from the db and
create it ""on the fly"" as needed.
Or cache it in some (beaker?) memory cache.



}}}"	2014-08-21T12:19:48Z	Elrond
	947	Media type configuration options are not documented	documentation		enhancement	2014-08-16T14:24:20Z	"Enabling the various media types is well documented, however no hint is given on how to configure media specific options, e.g. video quality.

There are individual `config_spec.ini` files scattered around, but there's no mention of where to put those options in `mediagoblin_local.ini`."	2016-07-25T00:54:35Z	Matt Molyneaux
	1051	"""Max file size: X mb"" should state ""MiB"", not ""mb""."	graphic design/interface		enhancement	2014-12-04T23:04:26Z	"First of all, thanks for your awesome work in Mediagoblin.

I know this might sound very picky and even stupid, but stating ""MB"", in caps, would be wrong, because the real unit used for files is, universally, but commonly misnamed, the mebibyte, MiB.

It's commonly misnamed as ""MB"" for historical reasons, and even if incorrect, I can understand the resistance to change.

But stating ""mb"" is wrong in all levels. Mega is ""M"", not ""m"" (which could be 'meters'), and ""b"" means bits, not bytes.

I'm providing a patch to be less annoying in case you feel this is an acceptable change. I hope it's well done, it comes from a ""git diff""

"	2016-07-25T00:56:26Z	anongoblin
