https://wiki.mediagoblin.org/api.php?action=feedcontributions&user=Ayleph&feedformat=atomGNU MediaGoblin Wiki - User contributions [en]2024-03-29T12:29:20ZUser contributionsMediaWiki 1.39.5https://wiki.mediagoblin.org/index.php?title=Live_instances&diff=1912Live instances2018-02-13T02:46:08Z<p>Ayleph: Undo revision 1909 by Nemo bis (talk)</p>
<hr />
<div>== Public ==<br />
<br />
These are public sites running GNU MediaGoblin:<br />
<br />
* http://roaming-initiative.com/mediagoblin/ running 'Version 0.6.0.dev' on http://hyperboria.net/ apparently! [http://www.reddit.com/r/darknetplan/comments/17e2dn/public_mediagoblin_server_available_on_hyperboria/ reddit thread]<br />
* https://goblinrefuge.com -- Registration open. Images and video enabled.<br />
* https://papers.goblinrefuge.com/ -- Registration open. Document uploads enabled. Targeted toward papers and presentations.<br />
<br />
=== Registration or uploads currently completely disabled: ===<br />
* https://media.tchncs.de/ -- Registration disabled as of 2017-10. Images and video enabled.<br />
* https://mediagoblin.pixelminers.net/ -- Registration disabled. Fast, secure (HTTPS enforced) Mediagoblin server. Supports Pictures, Music and Videos. Alternatively it is also available as a [http://ytytxrc5lqafyx3e.onion/ Tor hidden service/Onion Service].<br />
* http://isengaara.de (not running as of 13 Oct 2014) -- IsengaaraP's mediahub for sharing [https://github.com/divVerent/ecantorix eCantorix] songs and [https://en.wikipedia.org/wiki/Cosplay コスプレ] photos.<br />
<br />
=== Not working? ===<br />
* https://efjz.in -- "EricFontaineJazZmediagoblIN" is for me to archive recordings of music performances of me and my fellow musicians. [25/01/2016 : it is a ownCloud instance]<br />
* http://mediagoblin.com ("502 Bad Gateway" as of 11 Jan 2016; hosted media are accessible) -- Currently registration and video are disabled; you have to ping Chris Webber for an invite.<br />
* https://gobblin.se (previously mg.wandborg.se) -- Registration open, but uploads are currently broken (help fixing is welcome!); all media types enabled (except STL/3D, at the moment) -- details; [[User:Joar/mg.wandborg.se|Joar/mg.wandborg.se]].<br />'''Your browser may not trust the certificate authority:''' http://wiki.cacert.org/InclusionStatus.<br />
* https://mediafrom.me - Registration by request, but new requests are welcome!! Contact j1mc on IRC / Jim Campbell (jcampbell - ate - gnome - dot - org) for an account. Supports pictures, raw images, video, & partly supports 3d printing schemas (fancy, live Blender rending doesn't work with Rackspace Cloud files).<br />
* https://media.kotori.me/ -- Registration open. Images, video, audio, raw images, ascii art, stl models, and pdf enabled.<br />
* http://barn.kerosenecow.net/ -- Registration disabled. This is mainly a showcase for development of the [http://chiselapp.com/user/saulgoode/repository/mg-gimp/home MG-GIMP project] (a Mediagoblin plug-in that permits hosting of GIMP images and resources).<br />
<br />
== Organizations ==<br />
<br />
These are instances run by organizations, usually having registration limited to organization members:<br />
<br />
* http://medii.ceata.org -- Fundația Ceata, Romanian Free Software and Free Culture activist organization. Registration is currently disabled.<br />
<br />
* http://media.libreplanet.org -- Videos of the LibrePlanet 2013 conference (Free Software Foundation). Registration is currently disabled.<br />
<br />
* https://mediagoblin.chicagolug.org -- Slides and photos from events and meetings of the Chicago GNU/Linux User Group. Registration is currently disabled.<br />
<br />
* [http://media.openvideo.pro http://media.openvideo.pro] Open Video Productions, L.L.C.<br />
<br />
* http://media.bibliolabs.cc -- Repository for handling media at Sistema de Bibliotecas Públicas de Medellín (SBPM), installed as part of the biibliolabs project which aimed at exploring open source software and open licenses for knowledge management for public libraries in Medellín, Colombia, South America<br />
<br />
* http://biblioteca.partidopirata.org -- Archive of pictures, documents and e-books for the [http://partidopirata.org/ Pirate Party in Brasil] <br />
<br />
<br />
=== Not Working? ===<br />
* http://mediagoblin.tami.org.il -- Media repository (documents, videos, images) for Tel Aviv Makers (telavivmakers.org / tami.org.il), a hackerspace in Tel Aviv, Israel. Lots of random stuff.<br />
<br />
* http://midiacapoeira.in/midia -- Material from Mídia Capoeira, a brazilian independent journalism initiative which promotes tactical-radical mediactivism. Registrations are open to facilitate non-identifiable uploads and leaked material. (''down since august 15. [https://we.riseup.net/hiatobr/fim-do-hacklab-independ-ncia Down notice] - in portuguese'')<br />
<br />
== Family/Friends ==<br />
<br />
Also, these sites are running MediaGoblin, but are for more limited audiences (family/friends of person who's running it, etc):<br />
<br />
* [http://media.haise.ca/ haise family photos] (currently with a baby focus)<br />
* [http://media.jpope.org/ jpope's instance] -- Registration currently disabled.<br />
* [http://media.thelovebug.org/ thelovebug's instance] (registration closed)<br />
* [http://mediagoblin.aurka.com mediagoblin.aurka.com] janssen’s personal mediagoblin-instance with concerts, demonstrations and other stuff (registration closed)<br />
* [http://media.chrishancockart.com/ media.chrishancockart.com] Artwork from Chris Hancock. (registration closed)<br />
* [http://photos.technicallyandrew.com photos.technicallyandrew.com] Photos by Andrew Browning (registration closed)<br />
* [http://media.larjona.net media.larjona.net] Laura Arjona's pictures and videos, family, and libre software stuff (registration closed)<br />
* [http://media.mnalis.com media.mnalis.com] family photos and cycling events for [http://biciklijade.com/ biciklijade.com] (registration closed)<br />
* [http://media.bscable.info Barry's instance] Mostly videos and photos of the family.<br />
* [https://media.strugee.net media.strugee.net], which is run by Alex Jordan and mostly used for personal photographs (registration closed) <br />
* [http://media.micha.elmueller.net media.micha.elmueller.net] Photos by Michael Müller, all licensed under CC-BY (registration closed)<br />
* [https://media.jamestechnotes.com James' instance] James' family media sharing site (registration closed)<br />
<br />
=== Not working? ===<br />
* [http://media.interi.org/ maiki’s baby photo site] ''(can't connect on 20 Dec 2015)''<br />
* [http://media.sspaeth.de spaetz' private pics] ''(502 Bad Gateway on 20 Dec 2015)'' Sebastian Spaeth's pictures, family and stuff (registration closed)<br />
* [http://gallery.dick-thomas.co.uk gallery.Dick-Thomas.co.uk] ''(Server not found on 20 Dec 2015)'' Dick Thomas' pictures, family and stuff (registration closed)<br />
* [http://media.wigunnara.com media.wigunnara.com] ''(Server not found on 20 Dec 2015)'' Giri Alam's pictures, family and stuff (registration closed)<br />
* [http://noreal.info/galeria noreal.info/galeria] ''(does not open on 31 Dec 2015)'' Run in a Raspberry-pi by Arder Vegan (registration closed)<br />
* [http://ardervegan.info/media ardervegan.info/media] ''(Server not found on 20 Dec 2015)'' Run in a Raspberry-pi by Arder Vegan (registration closed)<br />
* [http://69.204.244.48:6543] ''(can't connect on 31 Dec 2015)'' Pictures and music from Charles Pehlivanian, hosted on a Raspberry Pi.<br />
* [http://photos.katsarov.org photos.katsarov.org] ''(no GMG on 20 Dec 2015)'' Photos by Anton Katsarov (registration closed)<br />
* [http://media.deadsuperhero.com/ media.deadsuperhero.com] ''(Server not found on 20 Dec 2015)'' Artwork and photos from Sean Tilley, who writes MediaGoblin themes for fun.<br />
<br />
<br />
''You can add your instance here, too!''</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=20170304_Log&diff=189820170304 Log2017-03-04T19:23:51Z<p>Ayleph: missed the last line</p>
<hr />
<div><pre><br />
09:02:40 breton #startmeeting<br />
09:02:48 breton where is the bot?<br />
09:03:03 breton #startmeeting mediagoblin<br />
09:03:11 breton oh well<br />
09:03:18 ayleph i haven't seen chaosgoblin in quite a while :<br />
09:03:24 paroneayea womp womp<br />
09:03:33 paroneayea well, we could record the log and just post it to the list ourselves<br />
09:03:53 breton hi everyone, welcome to our monthly meeting<br />
09:03:59 breton todays agenda<br />
09:03:59 paroneayea \o/<br />
09:04:03 breton - GSoC<br />
09:04:16 breton what else?<br />
09:04:35 paroneayea - Federation and ActivityPub progress<br />
09:04:43 paroneayea it ties in with at least one GSoC option<br />
09:05:40 paroneayea maybe we should do the federation / activitypub update first since it impacts the gsoc <br />
discussion? breton, wdyt?<br />
09:06:26 breton paroneayea: sounds good, go for it :)<br />
09:06:29 paroneayea ok :)<br />
09:06:37 paroneayea so let's open up with some Good News<br />
09:07:29 paroneayea ActivityPub relies on ActivityStreams, and ActivityStreams just got signed off to "go to PR", <br />
ie "Proposed Recommendation"<br />
09:07:51 paroneayea ActivityStreams is our whole vocabulary, etc in ActivityPub, so this is good<br />
09:07:58 paroneayea PR means the group has spent a lonnnnnng time vetting the spec<br />
09:08:13 paroneayea and it's now ready to be sent to the w3c advisory committee to review<br />
09:08:23 paroneayea and hopefully make it an official spec<br />
09:08:27 paroneayea so that's good news \o/<br />
09:09:29 paroneayea in helping to make sure that we didn't have any important vocabulary dropped from the spec, we <br />
had to prove implementation of all the terms, which means I've done a TON of implementation of <br />
ActivityStreams terms in Pubstrate, the ActivityPub testbed server I've been working on<br />
09:09:34 paroneayea http://dustycloud.org/gfx/goodies/video-in-pubstrate.png look, video! :)<br />
09:09:46 paroneayea Pubstrate isn't doing anything like MediaGoblin's processing tooling<br />
09:10:05 paroneayea but it can read the metadata that MediaGoblin will publish once MediaGoblin supports ActivityPUb<br />
09:10:32 paroneayea so I already have a good idea of what that'll be "shaped" like once we switch MediaGoblin's <br />
federation code over to ActivityPub<br />
09:11:18 paroneayea in the meanwhile, as for ActivityPub itself, it's still at Candidate Recommendation stage, <br />
pre-CR. The group got a 6 month extension for ActivityPub, but in order to meet that<br />
09:12:00 paroneayea we need implementation reports (the template for which I'm just now about to merge <br />
https://github.com/w3c/activitypub/pull/174#issuecomment-284131233 )<br />
09:12:13 paroneayea and we need a test suite implementations can test against<br />
09:12:19 paroneayea my whole next month will mostly be spent on that test suite.<br />
09:12:42 paroneayea after that's done, I'll be helping with MediaGoblin's switch over to ActivityPub, but the test <br />
suite needs to happen first<br />
09:12:50 paroneayea so that's the update.<br />
09:12:54 paroneayea questions? :)<br />
09:13:01 ayleph when do you sleep?<br />
09:13:36 ayleph sounds like you've been extremely busy, and very productive.<br />
09:13:44 paroneayea thanks ayleph :) I appreciate that<br />
09:13:49 breton there should be more docs for dumb people like me<br />
09:14:01 breton or blogposts<br />
09:14:14 paroneayea breton: have you read the AP spec? https://www.w3.org/TR/activitypub/<br />
09:14:24 paroneayea we've tried to make it fairly readable<br />
09:14:54 paroneayea breton: and yes I'd like to do more blogposts, I haven't gotten to it yet<br />
09:15:06 ayleph i'm really excite about that pubstrate screen shot with video<br />
09:15:07 breton paroneayea: yes. But it's 40 pages :(<br />
09:15:38 paroneayea though! If you want a fun distraction <br />
https://archive.org/details/feb_2017-live_network_coding_8sync<br />
09:15:41 paroneayea watch this after the meeting :)<br />
09:15:52 paroneayea it'll tie together the federation work with some other things ;)<br />
09:15:56 paroneayea that's not important though. Okay!<br />
09:16:03 paroneayea any other questions, or on to GSoC?<br />
09:16:18 paroneayea ayleph: glad you're excited to see it... I was excited to get it working :)<br />
09:16:53 paroneayea ayleph: btw if you want a rendering of what that AS2 object is before it's rendered in fancy <br />
HTML, I could pull it up...<br />
09:17:22 paroneayea no questions? maybe we should move on to GSoC<br />
09:17:35 breton yes, lets move on<br />
09:17:38 paroneayea #topic GSoC<br />
09:17:41 paroneayea breton: why don't you lead this one<br />
09:17:48 breton GNU was accepted to GSoC<br />
09:17:58 breton we participate under GNU umbrella<br />
09:18:36 breton https://wiki.mediagoblin.org/GSOC_2017 -- is our GSoC page, please fix it if you see something <br />
wrong there<br />
09:19:26 breton we have several students who contacted us early!<br />
09:19:33 paroneayea breton: cool :)<br />
09:20:10 breton so if some of them are here, we could talk about the projects<br />
09:20:31 paroneayea let's do it!<br />
09:20:51 breton one thing i wanted to discuss is access control project<br />
09:21:04 breton paroneayea: how do you see it tied with activitypub one?<br />
09:21:22 paroneayea breton: let's look at an example ActivityStreams object to see how!<br />
09:21:26 paroneayea let me pull it up, one sec<br />
09:22:57 paroneayea http://dpaste.com/1PDDHR3<br />
09:23:00 paroneayea here are two examples<br />
09:23:14 paroneayea taken from the ActivityPub document<br />
09:23:41 paroneayea you can see a couple of things: a) objects are nested, the first one shows that we are <br />
Create'ing a Note<br />
09:24:09 paroneayea usually a stream will consist of Activity related to an Object (by an Actor)<br />
09:24:46 paroneayea b) you'll notice that there's these fields for "to" or "cc" (and also "bcc" and "bto" in case <br />
you don't want to disclose those recipients)<br />
09:24:54 paroneayea so we're sending things to those specific users<br />
09:25:02 paroneayea or even possibly to collections of users!<br />
09:25:16 paroneayea "to": ["https://example.org/~john/"],<br />
09:25:16 paroneayea "cc": ["https://example.com/~erik/followers",<br />
09:25:17 paroneayea "https://www.w3.org/ns/activitystreams#Public"]<br />
09:25:37 paroneayea in this example, "example.org/~john" is an actor on the network<br />
09:25:53 paroneayea whereas "https://example.com/~erik/followers" is a collection of all the followers<br />
09:26:10 paroneayea "https://www.w3.org/ns/activitystreams#Public" is kind of a special meta-collection that says <br />
"actually anyone can see this"<br />
09:26:16 paroneayea if we pretend the Public wasn't there<br />
09:26:27 paroneayea we'd only want the original author, john, and erik's followers to read this<br />
09:26:43 paroneayea that implies some fine-grained access control on an object level<br />
09:27:10 paroneayea and indeed, for the Like by Mallory in Example 2, sarah and john presumably are the only people <br />
who read it<br />
09:27:21 breton so like email<br />
09:27:24 paroneayea yes exactly.<br />
09:27:35 paroneayea so to and cc and etc are *primarily* used for delivery<br />
09:27:40 paroneayea but they also *imply* access control.<br />
09:28:07 paroneayea so, let's say we had two GSoC students at once, one working on access control and one working on <br />
ActivityPub federation! How could we get them to work together?<br />
09:28:37 paroneayea well I think it isn't so terrrrrribly hard actually, but it will require they are willing to <br />
work together a bit. they don't have to work from the same branch.<br />
09:29:16 ayleph paroneayea: do you think that ActivityPub implied access control should be *the* access control <br />
method for MediaGoblin? Or do you see it as just one possible implementation?<br />
09:29:18 paroneayea we'd have to make sure the access control branch was set up with the *intent* of doing this kind <br />
of fine grained access control: things are either public (anyone can see them), or they're <br />
restricted to individuals and collections<br />
09:29:29 breton i am opposed to students working together then<br />
09:29:30 paroneayea ayleph: I think it should be *the* basis, and maybe there can be some hooks.<br />
09:29:46 ayleph I'm wondering if some people just want to make an instance they can share with family member <br />
without having to figure out ActivityPub stuff<br />
09:29:51 breton ayleph: so mg switches to activitypub<br />
09:30:05 breton ayleph: i think we shall mask all activitypub stuff<br />
09:30:12 breton ayleph: hide it behind web-interface<br />
09:30:14 paroneayea ayleph: I think it'll be possible<br />
09:30:26 paroneayea you could add extra access checks<br />
09:30:29 paroneayea via plugin hooks<br />
09:30:44 paroneayea but it's just, the primary "how do I say this person has access" *starts with* the AP side of <br />
things.<br />
09:30:46 paroneayea make sense?<br />
09:31:14 paroneayea so AP access control ideas start as foundation, and if you want to add some plugin hook that <br />
gives broad sweeping access via some other authenticated mechanism, go for it<br />
09:31:40 ayleph okay, i think i get it. (it's still a little early for me on a saturday morning...)<br />
09:31:46 breton ok, that's actually nice<br />
09:32:07 breton here is what we need to do<br />
09:32:10 paroneayea so, what I imagine the person working on the ActivityPub implementation for the summer focusing <br />
primarily on delivery<br />
09:32:21 paroneayea so it's possible for them to focus on delivery, and not access control<br />
09:32:39 paroneayea but we need the actor and actor collections stuff put in place before GSoC for that to work<br />
09:32:47 paroneayea or else it's going to be a gnarly merge.<br />
09:32:47 breton 1. drop access control project for now<br />
09:33:00 paroneayea breton: or we can do that :)<br />
09:33:08 breton 2. add more description about activitypub stuff to the project<br />
09:33:20 breton activitypub looks scary<br />
09:33:25 paroneayea here's the other thing about activitypub<br />
09:33:30 breton i know it isn't, but it is.<br />
09:33:33 paroneayea I think this is going to be an unusual GSoC<br />
09:33:37 breton *but it looks<br />
09:33:42 paroneayea the person working on GSoC this year will in some ways be my "assistant"<br />
09:33:47 paroneayea I will be actively working with them<br />
09:34:31 paroneayea I think that could reduce the scariness a bit<br />
09:34:48 paroneayea so whoever is working on it this year will have to be willing to do a lot of collaboration, more <br />
than most GSoC<br />
09:34:58 paroneayea breton: does that make sense to you?<br />
09:35:01 breton paroneayea: yes<br />
09:35:11 paroneayea I figure I've been doing this ActivityPub stuff and getting it to a stable state for a couple of <br />
years<br />
09:35:27 paroneayea so it's time to land it, and I can certainly use help, but I think it'll go smoothest with <br />
direct guidance<br />
09:35:33 paroneayea tsyesika also said she'd be willing to help mentor<br />
09:36:46 paroneayea ok<br />
09:36:52 paroneayea so I guess one question is<br />
09:37:44 paroneayea since this is kind of an unusual GSoC, do we need to do anything to help students prepare or <br />
help check before GSoC stuff even starts?<br />
09:38:03 paroneayea breton: do you have ideas?<br />
09:38:16 paroneayea one tricky thing is I'm doing this test suite all month so that's going to be a bit overwhelming <br />
already :)<br />
09:38:17 breton the first thing i will do is update description of the task<br />
09:39:04 breton the worst thing about the whole federation stuff is lack of description readable in 5-10 minutes<br />
09:39:41 paroneayea ha<br />
09:39:43 paroneayea yeah<br />
09:39:56 paroneayea breton: maybe we should link to the part of the mediagoblin 2nd campaign video where federation <br />
is explained ;)<br />
09:40:22 breton the second worst is ambiguity of word "federation"<br />
09:41:57 paroneayea http://mediagoblin.org/pages/campaign.html 1:45-2:20 on the video for talking about federation :)<br />
09:42:10 paroneayea then it goes into some outdated stuff about the Pump API. but that was all pre-standardization!<br />
09:42:20 ayleph the description mentions that there's a federation branch...is the idea to first try to merge <br />
that branch, and then to convert it to activitypub?<br />
09:42:37 paroneayea ayleph: hauuuuugh, I need to review it.<br />
09:42:38 ayleph i imagine merging the branch alone may be a big task<br />
09:42:44 paroneayea yes that's true<br />
09:42:54 paroneayea maybe I need to devote weekends to getting up-to-date on that this month<br />
09:43:18 paroneayea so we have two other gsoc tasks also<br />
09:43:19 breton isn't it merged yet?<br />
09:43:25 paroneayea breton: no :)<br />
09:43:30 breton but<br />
09:43:34 paroneayea it's been sitting there, burning on the back burner :)<br />
09:43:48 breton why did the switch from user to actor happened?<br />
09:44:34 paroneayea breton: *part of* the federation stuff landed<br />
09:44:37 paroneayea but there's still more<br />
09:44:40 ayleph there were certainly a lot of changes to the API code a year or two ago, but it was a pretty <br />
basic implementation<br />
09:44:50 ayleph images only, most clients couldn't successfully connect<br />
09:44:53 paroneayea the complete federation branch is still sitting in tsyesika's branch<br />
09:44:56 breton oh well.<br />
09:45:00 paroneayea so<br />
09:45:03 paroneayea I guess that's a task for me.<br />
09:45:08 paroneayea assess the state of federation stuff<br />
09:45:14 * paroneayea piles it on a towering heap<br />
09:45:17 ayleph hehe<br />
09:45:32 ayleph is that branch on savannah?<br />
09:46:05 ayleph yeah, appears to be<br />
09:46:06 paroneayea nope, notabug https://notabug.org/tsyesika/federated-mediagoblin.git<br />
09:46:07 paroneayea oh<br />
09:46:10 paroneayea maybe there too<br />
09:46:33 ayleph oh, i probably shouldn't assume the one on savannah is the same one<br />
09:46:34 paroneayea we might have pushed it to sannah<br />
09:46:43 paroneayea another thing to look into!<br />
09:47:03 paroneayea ayleph: breton: ok, so I'm going to be crazy busy for the next 1.5 weeks on this test suite<br />
09:47:13 adfeno Savannah is the most respectful of the two repository hosts so far.<br />
09:47:18 paroneayea in 2 weeks, can I ask one of you to pester me, "hey how's reviewing that federation code going"? <br />
;)<br />
09:47:35 ayleph hmm, it looks like the one on notabug is many commits behind the one on savannah<br />
09:47:58 paroneayea ok, savannah is most up to date then. noted!<br />
09:48:15 ayleph oh, but then i noticed the "federation" branch on notabug<br />
09:48:31 ayleph they look about the same?<br />
09:49:00 paroneayea meh, I'll look :)<br />
09:49:08 breton ok, other GSoC projects<br />
09:49:11 paroneayea yes<br />
09:49:15 paroneayea there are 2 others!<br />
09:49:25 breton Multiple qualities of video<br />
09:49:48 breton i think it is pretty clear what to do there<br />
09:50:11 breton this is the one i would love to mentor<br />
09:50:13 ayleph maybe we could tack on some advanced user upload limit stuff to that one?<br />
09:50:15 paroneayea great :)<br />
09:50:25 paroneayea ayleph: don't we have a user upload limit thing?<br />
09:50:33 paroneayea maybe it's not advanced :)<br />
09:50:33 ayleph i think the current user upload limit code only looks at the size of the uploaded video (which <br />
may or may not stick around), not the size of the transcoded video<br />
09:50:46 ayleph and if we have multiple transcoded video sizes, that's a lot more disk space<br />
09:50:59 paroneayea ahhh<br />
09:51:03 paroneayea yes ayleph, good point.<br />
09:51:15 paroneayea I think that's a reasonable thing to add to it<br />
09:51:15 breton ayleph: lets just make a list of possible video qualities configurable<br />
09:51:47 breton ayleph: also, if original video is 480p, there is definitely no reason to transcode it to 720p<br />
09:53:42 breton ok, anything else aout multiple video qualities?<br />
09:54:04 paroneayea breton: seems pretty good<br />
09:54:19 breton cool. Our next project is "Chunked uploads / multi-upload UI"<br />
09:54:41 paroneayea I think we have like, three branches that have attempted this and I've failed to review any of <br />
them, like the terrible maintainer I am<br />
09:54:47 paroneayea well wait<br />
09:54:51 paroneayea I did review one once I think!<br />
09:54:52 breton this one looks like an easy one actually<br />
09:55:56 ayleph looking at the comments on the wiki, this may already be working code<br />
09:56:15 ayleph i didn't realize that someone had updated the VenKamikaze multi-upload code to work with 0.9<br />
09:58:31 breton so... there is no project?<br />
09:59:04 ayleph i'm not sure, but at a quick glance, it seems that most of the work is already done<br />
09:59:10 breton the code also doesn't look too complex for GSoC project<br />
09:59:17 ayleph unless we want someone to create a new method<br />
09:59:43 ayleph this code may need some adjustments; i'm not sure what happens if a browser doesn't support html5<br />
09:59:50 ayleph but i don't think that's worthy of GSoC<br />
10:00:31 breton i agree<br />
10:00:34 paroneayea ok :)<br />
10:00:40 breton lets drop the project<br />
10:00:53 paroneayea also, one more thing<br />
10:01:06 paroneayea is there any reason not to generalize multiple quality types?<br />
10:01:18 paroneayea eg, multiple image quality, multiple audio quality<br />
10:01:20 paroneayea all seems related.<br />
10:01:27 paroneayea just thinkin' out loud here.<br />
10:01:45 breton weeeell<br />
10:01:55 breton multiple audio qualities -- meh<br />
10:02:10 breton maybe just 2 -- high-quality and low-quality<br />
10:02:26 breton well actually yes<br />
10:02:30 breton this could be a thing<br />
10:03:23 breton i am now thinking how i would do this project<br />
10:05:36 ayleph totally different subject just popped into my head, but isn't there some issue with celery <br />
moving forward? is this something that we could turn into a project?<br />
10:05:56 paroneayea ayleph: yes... so our Celery stuff is kind of a mess<br />
10:05:59 ayleph i seem to recall celery 4 dropped support for something that we need<br />
10:06:19 paroneayea it dropped our crappy default solution that used an sqlite database as a message queue ;)<br />
10:06:24 paroneayea I think we agreed to move to RabbitMQ<br />
10:06:28 ayleph oh okay<br />
10:06:45 paroneayea this might not be that big of a project, not sure if it's a whole summer's worth, but it needs <br />
to be done<br />
10:08:23 breton ++<br />
10:09:17 breton maybe it will be done as part of multiple audio qualities<br />
10:09:19 paroneayea (also, if the chunked upload stuff really is ready, why haven't we merged it? :) probably my <br />
fault...)<br />
10:09:32 paroneayea too bad "odds and ends" style GSoC's never seem to work out<br />
10:09:59 breton because the project requires priorities in video transcoding<br />
10:10:19 breton paroneayea: i will think about generalizing the qualities<br />
10:10:42 breton we are 10 minutes out of our time and i need to go :)<br />
10:11:18 breton thanks everyone for coming<br />
10:11:25 paroneayea yes, time to wrap up<br />
10:11:43 paroneayea #endmeeting ;)<br />
10:11:44 breton #endmeeting<br />
</pre></div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Meeting&diff=1897Meeting2017-03-04T19:19:55Z<p>Ayleph: link to Mar 4 2017 meeting log</p>
<hr />
<div>== MediaGoblin Monthly Meeting ==<br />
<br />
'''When:''' 9:00 am Pacific Time first Saturday of the month. [http://www.timeanddate.com/worldclock/converter.html Convert time to your timezone]. Print current UTC time: <code>date -u +"It's %F %T UTC"</code>. [https://en.wikipedia.org/wiki/Daylight_saving_time_in_the_United_States#2005_revision_to_dates_of_observance Pacific Time in 2014 has DST between March 9th and November 2nd].<br />
<br />
'''Where:''' IRC #mediagoblin on irc.freenode.net<br />
<br />
Always announced several days in advance on the [http://lists.mediagoblin.org/pipermail/devel/ mailing list] as is date adjustments, agenda discussion and other meeting preparation.<br />
<br />
'''Purpose:''' The idea is to discuss the past month, what happened, what was good, what should be done better. And to create roadmap for the upcoming month and assign tasks to people willing to handle them.<br />
<br />
Typical Agenda topics:<br />
<br />
* What happened in the last month, what was good, what could be better next time?<br />
* What should be done next month?<br />
<br />
Meetings are logged. See below for logs of each meeting.<br />
<br />
== Next Meeting ==<br />
<br />
Every first Saturday of the month with JIT-compiled agenda.<br />
<br />
=== April 1, 2017 ===<br />
<br />
== Past Meetings ==<br />
<br />
=== March 4, 2017, 9:00AM Pacific Time, 17:00 UTC ===<br />
* Federation and ActivityPub progress<br />
* GSoC<br />
<br />
[[20170304_Log]]<br />
<br />
=== Oct 1, 2016 ===<br />
<br />
=== Sept 4, 2016, 17:00 UTC ===<br />
<br />
[[20160904_Log]]<br />
<br />
=== May 7, 2016 ===<br />
<br />
=== April 2, 2016, 17:00 UTC ===<br />
* 0.9.0 release (done!)<br />
* GSoC<br />
* 1.0<br />
<br />
[[20160402_Log]]<br />
<br />
=== March 5, 2016, 9:00AM Pacific Time, 17:00 UTC ===<br />
* 0.9.0 release (imminent!)<br />
* GSoC<br />
** Project ideas<br />
** Interested mentors?<br />
* Federation mini-update<br />
<br />
[[20160305_Log]]<br />
<br />
<br />
=== February 6, 2016, 9:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* Continuous integration / Commit Notifications<br />
* Move sqlite to development-only? (no more migrations)<br />
* Upcoming 0.9.0 release<br />
* Path to 1.0<br />
* Stripe retreat update<br />
* ActivityPub update (related!)<br />
* GSOC ideas, and volunteers?<br />
<br />
[[20160206_Log]]<br />
<br />
=== January 2, 2016, 9:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* 0.9.0<br />
* FOSDEM<br />
* 0.8.2<br />
[[20160102_Log]]<br />
<br />
=== November 7, 2015, 9:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* 0.8.1 and 0.9.0<br />
* Activipy and W3C Social WG stuff<br />
* Help squash bugs!<br />
* Revisiting the code / issue hosting situation??<br />
<br />
=== March 7, 2015, 09:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* Moving off of gitorious, to?<br />
* 0.8.0 upcoming release<br />
* LibrePlanet and W3C meeting<br />
* GSoC 2015<br />
* Heads up: UserOps list<br />
* Federation status<br />
* Chris to take a temporary break?<br />
<br />
=== December 6, 2014, 09:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* 0.8.0 upcoming release<br />
** Current state (including looking at issue list)<br />
** How to help!<br />
*** Help us [https://issues.mediagoblin.org/query?status=new&status=in_progress&status=accepted&status=review&group=status&milestone=0.8.0 fix issues!]<br />
*** Documentation (check it! improve it!)<br />
*** Gstreamer 1.0 merge?<br />
*** Help test!<br />
*** Translate? (Maybe, but maybe not yet?)<br />
* Translation talk, if breton is around<br />
* Update on federation<br />
* Update on W3C group<br />
<br />
=== November 1, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
Loose meeting structure :)<br />
<br />
=== October 4, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* 0.8.0 progress<br />
** Python 3 is in!<br />
** Cleanup happening<br />
** What's next<br />
*** Gstreamer 1.0 merge<br />
*** Search merge<br />
*** [https://issues.mediagoblin.org/query?status=new&status=in_progress&status=accepted&status=review&group=status&milestone=0.8.0 Tickets!]<br />
* Autoconf update<br />
* Breton's translation update<br />
* Federation update<br />
* Deployment research update<br />
* Add your things!<br />
<br />
=== September 6, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* Things happened! Horray!<br />
** 0.7.0 is out!<br />
** GSoC is done!<br />
* Transifex move... help!<br />
* 0.8.0 planning<br />
* Updates on federation<br />
* Updates on campaign-todo-items<br />
* Premium hosting and deployment<br />
* Documentation updates ( j1mc )<br />
* Triage day! And the [https://etherpad.mozilla.org/gmg-triage new setup]!<br />
* Help on reviewing?<br />
* Epicanis' feature questions<br />
<br />
<br />
=== August 2, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* GSoC updates<br />
* State of 0.7.0<br />
* State of Federation<br />
* State of post-campaign stuff (rewards, etc)<br />
* General community updates<br />
* Feedback: how are things going?<br />
<br />
<br />
=== June 7, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* GSoC updates<br />
* Researchcation brief summary<br />
* Campaign-related updates<br />
* Upcoming release<br />
* Code reviews<br />
<br />
=== May 3, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* GSoC starts!<br />
* Post campaign updates!<br />
** Horray, we did it!<br />
** Unlocked features<br />
** The rewards<br />
** Premium hosting brainstorm<br />
** Extra features brainstorm<br />
* [http://lists.mediagoblin.org/pipermail/devel/2014-May/000867.html Metadata] discussion<br />
* Chris' researchcation<br />
** Federation stuff<br />
** Deployment stuff<br />
** Other stuff?<br />
* Help review!<br />
* Add your items HERE!<br />
<br />
<br />
=== March 1st, 2014, 09:00AM Pacific Time, 17:00 UTC<!-- change to 16:00 for April-November 2014; then to 17:00 for December 2014 --> ===<br />
<br />
* GSoC<br />
* The [http://mediagoblin.org/pages/campaign.html crowdfunding campaign!]<br />
** State of things / Q & A<br />
** You can help!<br />
* MediaGoblin in the meanwhile<br />
<br />
=== November 2nd, 2013, 09:00AM Pacific Time, 16:00 UTC ===<br />
<br />
Pretty loose on the schedule this month? :)<br />
<br />
* Post-conference wrapup stuff?<br />
* What's ahead in the next year for MediaGoblin?<br />
<br />
=== October 5th, 2013, 09:00AM Pacific Time, 16:00 UTC ===<br />
<br />
* Post-OPW/GSoC wrapup discussion <br />
* Huge pile of code to review<br />
* Planning out 0.6.0<br />
* Road to 1.0<br />
* mediagoblin.org changes<br />
* GNU 30th recap, upcoming conferences<br />
* MediaGoblin's graphic design?<br />
<br />
=== September 7th, 2013 ===<br />
<br />
* 0.5.0 release recap!<br />
* Next release: 0.6.0!<br />
* GSoC/OPW updates<br />
* Review queue that needs attention<br />
* GNU 30th! (and traveling)<br />
* Other things???<br />
<br />
=== August 3rd, 2013 9:00 am Pacific Time (2013-08-03 16:00 UTC) ===<br />
<br />
* Configure && make merge<br />
* 0.5.0 plans<br />
* GSoC / OPW updates<br />
* GNU 30th birthday party / GoblinCon? :)<br />
* Documentation overhaul<br />
* Reprocessing<br />
* Bonus topics<br />
** Mumble server<br />
** XUDD<br />
<br />
=== July 6th, 2013 9:00 am Pacific Time (2013-07-06 16:00 UTC) ===<br />
<br />
* 0.4.0 is out! On to 0.4.1!<br />
* OPW/GSoC update<br />
* Federation status<br />
* Module owners (and reducing the "Chris Webber bottleneck")?<br />
** Projects like Blender, the Linux Kernel, and qemu have "module owners", people responsible for a domain of the code<br />
** Could/should MediaGoblin do the same?<br />
** How would that be broken up?<br />
<br />
=== Jun 1st, 2013 9:00 am Pacific Time (2013-06-01 16:00 UTC) ===<br />
<br />
* Welcoming our GSoC and OPW interns<br />
* The coming 0.4.0<br />
* What's after 0.4.0?<br />
* RTL<br />
<br />
<br />
=== May 4th, 2013, 9:00 am Pacific Time (2013-05-04 16:00 UTC) ===<br />
<br />
[[meeting-2013-05-04|May 4th, 2013, 9:00 am Pacific Time (2013-05-04 16:00 UTC)]]<br />
<br />
* GSOC and Gnome Outreach for Women participation update<br />
* Mention the bug triage meeting<br />
* Improving our unit tests?<br />
* 0.4.0 release coming soon<br />
* Help review code?<br />
* Thanking simonft for sysadmin help!<br />
<br />
=== April 6, 2013, 9:00 am Pacific Time (2013-03-30 16:00 UTC) ===<br />
<br />
* Plugins update<br />
* Post-libreplanet sprint merging<br />
* Gstreamer 1.0 stuff (if Joar is here!)<br />
* GSOC and Gnome Outreach for Women participation<br />
* ???<br />
<br />
=== March 2nd, 2013, 9:00 am Pacific Time (2013-03-02 16:00 UTC) ===<br />
<br />
* Bug triage day discussion<br />
* Upgrading Trac to 1.0<br />
* Next release: 0.3.3<br />
* Consider have release dates?<br />
* Plugin stystem<br />
* Consider moving to GStreamer 1.0<br />
** Debian - 1.0 in sid<br />
** Ubuntu - 1.0 in 12.10<br />
*** Possibly backports for 12.04<br />
** Fedora - 1.0 in 18<br />
* Upcoming conferences and hackathons<br />
<br />
=== February 9th, 2013, 9:00 am Pacific Time (2013-02-09 16:00 UTC) ===<br />
<br />
* 0.3.3 milestone! What about our next release? :)<br />
* Where to put Developer docs?<br />
*: Our Documentation for developers is currently a bit split. Some are on the wiki, some in the main docs. There are pros and cons for both. We should consider where to put things. One place? Which? Or decide on an individual basis?<br />
*: Good about main docs: Easy to integrate source code doc strings. That way internal api docs can be kept mostly up to date.<br />
*: Good about wiki: Doesn't feel so "set in stone".<br />
* wiki spam: Do we want to change something?<br />
* [http://lists.mediagoblin.org/pipermail/devel/2012-November/000307.html Designing features!]<br />
* Plugins, and architecting for plugins<br />
* Chris Webber gives updates on how he's settling into his role ;)<br />
<br />
=== October 13th, 2012, 9:00 am Pacific Time (2012-10-13 16:00 UTC) ===<br />
<br />
* 0.3.2 release<br />
** What existing features need to be wrapped up?<br />
*** Werkzeug switch<br />
** What time might we do the release?<br />
* Fundraising campaign<br />
** Keeping things going mid-campaign<br />
** You have questions? I have answers, kinda :)<br />
* Getting new contributors involved<br />
* Plugins? New features?<br />
<br />
==== Etherpad ====<br />
<pre><br />
AGENDA<br />
<br />
0.3.2 release <br />
<br />
What existing features need to be wrapped up? <br />
<br />
Werkzeug switch <br />
<br />
What time might we do the release? <br />
<br />
Congrats to Deb from the mediagoblin team! Congrats de Deb!<br />
<br />
Fundraising campaign <br />
<br />
Keeping things going mid-campaign <br />
<br />
You have questions? I have answers, kinda :) <br />
<br />
Getting new contributors involved <br />
<br />
Plugins? New features? <br />
<br />
-- http://wiki.mediagoblin.org/Meeting#Next_Meeting<br />
Fundraising stuff<br />
Things are going great mostly when people check it out!<br />
But how to spread the word?<br />
<br />
should contact more podcasts, etc<br />
<br />
currently working with FSF on this<br />
<br />
need community to spread the word!<br />
<br />
List of places already spreaded list and contacted<br />
<br />
VideoThumbnailerMarkII<br />
New video thumbnailer, rewritten to try to eliminate a bug in the old one where processing would stall.<br />
New bugs introduce (of course ;)<br />
Collections<br />
Merged - Thanks aaronw!<br />
WebOb => Werkzeug switch<br />
Made some things break. Need help with testing + bugfixes<br />
borked stuffs:<br />
<br />
Accessing paths without trailing slashes, e.g. /submit (instead of /submit/)<br />
<br />
Still a lot of legacy WebOb responses (such as webob.exc.HTTPFound() HTTPForbidden() left)<br />
<br />
API<br />
Delivered to mrn.is, tryggvib will test it and get back with feedback.<br />
Working, still a lot of room for improvements.<br />
Mostly done, usable, still room for improvements. Example applications:<br />
<br />
https://github.com/jwandborg/automgtic<br />
<br />
https://github.com/jwandborg/omgmg<br />
</pre><br />
<br />
=== September 1st, 2012, 9:00 am Pacific Time (2012-09-01 16:00 UTC) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-09-01.txt IRC log]<br />
<br />
* FIXME - can someone type in summary here?<br />
<br />
=== August 4th, 2012, 9:00 am Pacific Time (2012-08-04 16:00 UTC) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-08-04.txt IRC log]<br />
<br />
* Release schedule<br />
* Plugins and themes! Who's working on one? What problems are you having? -- Please write up issues for problems so they can get fixed!<br />
* Should we namespace plugins? If so, how should we namespace plugins?<br />
** Python 3.3 will have support for namespace plugins. [http://www.python.org/dev/peps/pep-0420/#namespace-packages-today]<br />
** In Python >=2.3, <3.3 it's a hack [http://www.python.org/dev/peps/pep-0402/#the-problem][http://www.python.org/dev/peps/pep-0420/#namespace-packages-today]<br />
** Flask has a workaround[https://github.com/mitsuhiko/flask/blob/master/flask/ext/__init__.py]<br />
<br />
=== July 7th, 2012, 9:00 am Pacific Time (2012-07-07 16:00 UTC) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-07-07.txt IRC log]<br />
<br />
Announcements:<br />
<br />
* Anyone who wants to edit the wiki needs to be in the goblin army group. Ask Will or Chris to get added.<br />
* Plugin infrastructure landed. If you're interested in writing plugins, talk to Will. Some documentation at http://docs.mediagoblin.org/#part-2-plugin-writer-s-guide<br />
<br />
Agenda:<br />
<br />
* Keyboard shortcuts ([http://issues.mediagoblin.org/ticket/346 #346])<br />
* Ticket triaging?<br />
* Base plugin stuff!<br />
* Theming<br />
* Conference: OSCON<br />
* Chris Webber's new "office hours"<br />
<br />
=== June 2nd, 2012, 9:00 am Pacific Time ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-06-02.txt IRC log]<br />
<br />
* docs changes<br />
** Will split the docs/ guide into a Site Administrator's Guide and a Plugin Writer's Guide<br />
** Has anyone looked at the Plugin Writer's Guide, yet?<br />
** Will wants to add a "Contributor's Guide" to docs/ which he'd update from the wiki before every release<br />
* Is there a way to improve our unit tests and motivation to write them?<br />
** Simulating a browser by the way of [http://phantomjs.org/ PhantomJS], [http://seleniumhq.org/ Selenium] instead of having code simulating other code against itself might be more natural to write and even more testing the actual application. I have a good feeling about this, please prove me wrong if I'd be. --[[User:Joar|Joar]] 08:53, 28 May 2012 (EDT)<br />
* Administrative panel/tools and user uploads panel<br />
* Git and tickets <br />
* Plugins<br />
** What's the state of things?<br />
** Documentation<br />
** What plugins might we want to build for this upcoming release?<br />
** What things do we currently have that we might want to pluginify?<br />
* State of kuneco/federation mini-update (Chris)<br />
<br />
=== May 5th, 2012, 9:00 am Pacific Time ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-05-05.txt IRC log]<br />
<br />
* Post-release reflections<br />
** Woohoo, release!<br />
** How did this release process go?<br />
*** We should talk about that conference.<br />
** What's left to clean up?<br />
*** Mongokit->SQL "style" query conversion?<br />
*** Other cruft code?<br />
* What are our next goals?<br />
** Plugins<br />
** Federation<br />
** Favoriting<br />
*** Take that, Pinterest! ;)<br />
** Galleries<br />
** Theming<br />
*** Using sass would be neat<br />
** Access restrictions<br />
*** User management, or having a "secret url" that is not in the photo index that you can share with friends and generate as needed for any media type<br />
** What about traffic? Some of us will host GMG on limited plans.<br />
** Some kind of coding guidelines? Do we have a philosophy like "Keep it Simple, Stupid"<br />
*** This concerns things like: Should plugins land in core eventually, do we want to support ALL THE MEDIA TYPES, ...<br />
** Podcasting support?<br />
** Things that have been hanging???<br />
** Bugtrackers and milestone?<br />
** More??? We should organize things!<br />
* jancborchardt and his team of UX wizard-students<br />
* Website redesign<br />
* OpenShift?<br />
<br />
<br />
=== April 7th, 2012, 4:00 pm UTC ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-04-07.txt IRC log]<br />
<br />
* Post-SQL stuff<br />
* Pending 0.0.3 release!<br />
* Are there stray patches/branches to be merged?<br />
* Our glorious upcoming plugin future! (Update from Will)<br />
<br />
=== March 3rd, 2012, 9:00 am Pacific Time ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-03-03.txt IRC log]<br />
<br />
* [[GSOC 2012]]<br />
* State of the SQL transition (preview: it's super close, but we need help!)<br />
* Plugin discussion (Will can't make this, but we should talk about use cases)<br />
* MediaGoblin at upcoming conferences<br />
* PageKite accounts<br />
<br />
<br />
=== 2012-02 (held on 2012-02-04) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-02-04.txt IRC log]<br />
<br />
* Code style guide? See also: http://issues.mediagoblin.org/ticket/197<br />
* Kuneco/federation<br />
* API<br />
* More testing discussion?<br />
* Theming?<br />
* Preliminary plugin discussion<br />
* Status update from the "SQL Team".<br />
<br />
Some of the decisions:<br />
<br />
* file an issue about proper &lt;audio&gt; support.<br />
* some TODOs recorded<br />
<br />
<br />
=== 2011-12 (held on 2011-12-03) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-12-03.txt IRC log]<br />
<br />
* We plan to create a plugin system. Do we want to create that soon or push it off until things settle a bit more? ([[User:Willkg|Willkg]] 08:54, 10 November 2011 (EST))<br />
* [[Feature Ideas]]: What should we do about the wiki page? Keep it and have it as a monthly topic for "what next"? Convert everything to long waiting bugs?<br />
* Possibility of an [[SQL Database Backend]]?<br />
*: 'executive summary' (well, you should read the long docs): "We could move to sql. It's probably replacing one type of pain by another type of pain, but those are somewhat comparable. Leaving the main question: Do we want to occupy our main devs for some long time with this task and loose momentum?"<br />
* Schendje's [http://wiki.mediagoblin.org/Feature_Ideas/Activities activities proposal]<br />
* "Coming up next" blogpost draft by Deb Nicholson<br />
* Jef's requests:<br />
** Ticket #466 "Use of "Submit" in site copy is sterile and not as friendly and welcoming as it could be". I'd really like to change this soon to something more suitable. How can we improve the wording here? Some alternatives have been mentioned in the bug report, but which one should we pick? Link: http://bugs.foocorp.net/issues/466<br />
** The concept and naming of "favourites". We'll (hopefully) be able to "favourite" media soon, which I *think* means that 1) it'll work like a "I like this" comment, a quick token of appreciation, 2) it'll be added to your list of favourites so you can save and promote it, and 3) we could maybe use the number of favourites as a ranking. What I'd like to know is: is that the intended purpose? If so, should we name them favo(u)rites or something else? "Like", "love", "save", "appreciate", "heart", "high five" and many more could all be contenders. And the name should be consistent with the action and purpose, of course. So I'd like to clear up how and why we will use favourites and what we should call them.<br />
<br />
<br />
=== 2011-11 (held on 2011-11-05) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-11-05.txt IRC log]<br />
<br />
* What happened in the last month, what was good, what could be better next time?<br />
** Release:<br />
*** Good: 0.1.0 released!<br />
*** Bad: postponing vs not postponing<br />
** Sites and deployment documentation:<br />
*** Good: new mediagoblin.org<br />
*** Good: deployment documentation<br />
*** Bad: py-bcrypt’s site was down just after the release, so the virtualenv deployment didn’t work, and it wasn’t clear how to fix it.<br />
** Live instances:<br />
*** Joar has a live instance!<br />
*** But what does it mean? Should ordinary users start using it?<br />
**** Details at [[User:Joar/mg.wandborg.se]] -- [[User:Joar|Joar]] 17:01, 6 November 2011 (EST)<br />
*** nyergler added a note about "heartbeat"/status to API notes<br />
* What should be done next month?<br />
* Starting real work on federation (via OStatus)... and do we split any of this work out into its own library?<br />
* An API<br />
* Creative Commons licensing tools<br />
* Merging in the multimedia/video branch<br />
*: (this is *very close* already actually thanks to the hard work of Joar Wandborg! But we need some help on the gstreamer front to fix a few issues... if you or someone you know is an expert in this area we could really use their help to make the videos that come out smoother!)<br />
* Rollover items from 0.1.0<br />
* Multiple file upload interface<br />
* Drag and drop uploads interface (probably related!)<br />
<br />
<br />
=== 2011-10 (held on 2011-10-01) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-10-01.txt IRC log]<br />
<br />
This month's meeting was a quickly announced short meeting. The project is getting back on track and next month's meeting will be scheduled more properly. A bunch of people were around.<br />
<br />
The most important decisions:<br />
* The project will keep monthly releases. They're the heartbeat of the project.<br />
* Release 0.1.0 this sunday/monday.<br />
* New website will hopefully be deployed in the next few days.<br />
* And the following things are planned to happen during this month: Most importantly federation. The developers have decided to make up their minds on what federation aactually should mean for MediaGoblin. Concerning code, probably "activity streams" are the first goal. If there is no (good) python library for this, a new stand alone library may be created. If so, a name for it has to be found. It should have something about communication in it. And the other thing to happen during this month is an ongoing discussion about "bus factor".<br />
<br />
<br />
=== 2011-09 (held on 2011-09-03) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-09-03.txt IRC log]<br />
<br />
<br />
=== 2011-08 (held on 2011-08-06) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-08-06.txt IRC log]</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=20170304_Log&diff=189620170304 Log2017-03-04T19:19:15Z<p>Ayleph: Created page with "<pre> 09:02:40 breton #startmeeting 09:02:48 breton where is the bot? 09:03:03 breton #startmeeting mediagoblin 09:03:11 breton oh well 09:03:18 ..."</p>
<hr />
<div><pre><br />
09:02:40 breton #startmeeting<br />
09:02:48 breton where is the bot?<br />
09:03:03 breton #startmeeting mediagoblin<br />
09:03:11 breton oh well<br />
09:03:18 ayleph i haven't seen chaosgoblin in quite a while :<br />
09:03:24 paroneayea womp womp<br />
09:03:33 paroneayea well, we could record the log and just post it to the list ourselves<br />
09:03:53 breton hi everyone, welcome to our monthly meeting<br />
09:03:59 breton todays agenda<br />
09:03:59 paroneayea \o/<br />
09:04:03 breton - GSoC<br />
09:04:16 breton what else?<br />
09:04:35 paroneayea - Federation and ActivityPub progress<br />
09:04:43 paroneayea it ties in with at least one GSoC option<br />
09:05:40 paroneayea maybe we should do the federation / activitypub update first since it impacts the gsoc <br />
discussion? breton, wdyt?<br />
09:06:26 breton paroneayea: sounds good, go for it :)<br />
09:06:29 paroneayea ok :)<br />
09:06:37 paroneayea so let's open up with some Good News<br />
09:07:29 paroneayea ActivityPub relies on ActivityStreams, and ActivityStreams just got signed off to "go to PR", <br />
ie "Proposed Recommendation"<br />
09:07:51 paroneayea ActivityStreams is our whole vocabulary, etc in ActivityPub, so this is good<br />
09:07:58 paroneayea PR means the group has spent a lonnnnnng time vetting the spec<br />
09:08:13 paroneayea and it's now ready to be sent to the w3c advisory committee to review<br />
09:08:23 paroneayea and hopefully make it an official spec<br />
09:08:27 paroneayea so that's good news \o/<br />
09:09:29 paroneayea in helping to make sure that we didn't have any important vocabulary dropped from the spec, we <br />
had to prove implementation of all the terms, which means I've done a TON of implementation of <br />
ActivityStreams terms in Pubstrate, the ActivityPub testbed server I've been working on<br />
09:09:34 paroneayea http://dustycloud.org/gfx/goodies/video-in-pubstrate.png look, video! :)<br />
09:09:46 paroneayea Pubstrate isn't doing anything like MediaGoblin's processing tooling<br />
09:10:05 paroneayea but it can read the metadata that MediaGoblin will publish once MediaGoblin supports ActivityPUb<br />
09:10:32 paroneayea so I already have a good idea of what that'll be "shaped" like once we switch MediaGoblin's <br />
federation code over to ActivityPub<br />
09:11:18 paroneayea in the meanwhile, as for ActivityPub itself, it's still at Candidate Recommendation stage, <br />
pre-CR. The group got a 6 month extension for ActivityPub, but in order to meet that<br />
09:12:00 paroneayea we need implementation reports (the template for which I'm just now about to merge <br />
https://github.com/w3c/activitypub/pull/174#issuecomment-284131233 )<br />
09:12:13 paroneayea and we need a test suite implementations can test against<br />
09:12:19 paroneayea my whole next month will mostly be spent on that test suite.<br />
09:12:42 paroneayea after that's done, I'll be helping with MediaGoblin's switch over to ActivityPub, but the test <br />
suite needs to happen first<br />
09:12:50 paroneayea so that's the update.<br />
09:12:54 paroneayea questions? :)<br />
09:13:01 ayleph when do you sleep?<br />
09:13:36 ayleph sounds like you've been extremely busy, and very productive.<br />
09:13:44 paroneayea thanks ayleph :) I appreciate that<br />
09:13:49 breton there should be more docs for dumb people like me<br />
09:14:01 breton or blogposts<br />
09:14:14 paroneayea breton: have you read the AP spec? https://www.w3.org/TR/activitypub/<br />
09:14:24 paroneayea we've tried to make it fairly readable<br />
09:14:54 paroneayea breton: and yes I'd like to do more blogposts, I haven't gotten to it yet<br />
09:15:06 ayleph i'm really excite about that pubstrate screen shot with video<br />
09:15:07 breton paroneayea: yes. But it's 40 pages :(<br />
09:15:38 paroneayea though! If you want a fun distraction <br />
https://archive.org/details/feb_2017-live_network_coding_8sync<br />
09:15:41 paroneayea watch this after the meeting :)<br />
09:15:52 paroneayea it'll tie together the federation work with some other things ;)<br />
09:15:56 paroneayea that's not important though. Okay!<br />
09:16:03 paroneayea any other questions, or on to GSoC?<br />
09:16:18 paroneayea ayleph: glad you're excited to see it... I was excited to get it working :)<br />
09:16:53 paroneayea ayleph: btw if you want a rendering of what that AS2 object is before it's rendered in fancy <br />
HTML, I could pull it up...<br />
09:17:22 paroneayea no questions? maybe we should move on to GSoC<br />
09:17:35 breton yes, lets move on<br />
09:17:38 paroneayea #topic GSoC<br />
09:17:41 paroneayea breton: why don't you lead this one<br />
09:17:48 breton GNU was accepted to GSoC<br />
09:17:58 breton we participate under GNU umbrella<br />
09:18:36 breton https://wiki.mediagoblin.org/GSOC_2017 -- is our GSoC page, please fix it if you see something <br />
wrong there<br />
09:19:26 breton we have several students who contacted us early!<br />
09:19:33 paroneayea breton: cool :)<br />
09:20:10 breton so if some of them are here, we could talk about the projects<br />
09:20:31 paroneayea let's do it!<br />
09:20:51 breton one thing i wanted to discuss is access control project<br />
09:21:04 breton paroneayea: how do you see it tied with activitypub one?<br />
09:21:22 paroneayea breton: let's look at an example ActivityStreams object to see how!<br />
09:21:26 paroneayea let me pull it up, one sec<br />
09:22:57 paroneayea http://dpaste.com/1PDDHR3<br />
09:23:00 paroneayea here are two examples<br />
09:23:14 paroneayea taken from the ActivityPub document<br />
09:23:41 paroneayea you can see a couple of things: a) objects are nested, the first one shows that we are <br />
Create'ing a Note<br />
09:24:09 paroneayea usually a stream will consist of Activity related to an Object (by an Actor)<br />
09:24:46 paroneayea b) you'll notice that there's these fields for "to" or "cc" (and also "bcc" and "bto" in case <br />
you don't want to disclose those recipients)<br />
09:24:54 paroneayea so we're sending things to those specific users<br />
09:25:02 paroneayea or even possibly to collections of users!<br />
09:25:16 paroneayea "to": ["https://example.org/~john/"],<br />
09:25:16 paroneayea "cc": ["https://example.com/~erik/followers",<br />
09:25:17 paroneayea "https://www.w3.org/ns/activitystreams#Public"]<br />
09:25:37 paroneayea in this example, "example.org/~john" is an actor on the network<br />
09:25:53 paroneayea whereas "https://example.com/~erik/followers" is a collection of all the followers<br />
09:26:10 paroneayea "https://www.w3.org/ns/activitystreams#Public" is kind of a special meta-collection that says <br />
"actually anyone can see this"<br />
09:26:16 paroneayea if we pretend the Public wasn't there<br />
09:26:27 paroneayea we'd only want the original author, john, and erik's followers to read this<br />
09:26:43 paroneayea that implies some fine-grained access control on an object level<br />
09:27:10 paroneayea and indeed, for the Like by Mallory in Example 2, sarah and john presumably are the only people <br />
who read it<br />
09:27:21 breton so like email<br />
09:27:24 paroneayea yes exactly.<br />
09:27:35 paroneayea so to and cc and etc are *primarily* used for delivery<br />
09:27:40 paroneayea but they also *imply* access control.<br />
09:28:07 paroneayea so, let's say we had two GSoC students at once, one working on access control and one working on <br />
ActivityPub federation! How could we get them to work together?<br />
09:28:37 paroneayea well I think it isn't so terrrrrribly hard actually, but it will require they are willing to <br />
work together a bit. they don't have to work from the same branch.<br />
09:29:16 ayleph paroneayea: do you think that ActivityPub implied access control should be *the* access control <br />
method for MediaGoblin? Or do you see it as just one possible implementation?<br />
09:29:18 paroneayea we'd have to make sure the access control branch was set up with the *intent* of doing this kind <br />
of fine grained access control: things are either public (anyone can see them), or they're <br />
restricted to individuals and collections<br />
09:29:29 breton i am opposed to students working together then<br />
09:29:30 paroneayea ayleph: I think it should be *the* basis, and maybe there can be some hooks.<br />
09:29:46 ayleph I'm wondering if some people just want to make an instance they can share with family member <br />
without having to figure out ActivityPub stuff<br />
09:29:51 breton ayleph: so mg switches to activitypub<br />
09:30:05 breton ayleph: i think we shall mask all activitypub stuff<br />
09:30:12 breton ayleph: hide it behind web-interface<br />
09:30:14 paroneayea ayleph: I think it'll be possible<br />
09:30:26 paroneayea you could add extra access checks<br />
09:30:29 paroneayea via plugin hooks<br />
09:30:44 paroneayea but it's just, the primary "how do I say this person has access" *starts with* the AP side of <br />
things.<br />
09:30:46 paroneayea make sense?<br />
09:31:14 paroneayea so AP access control ideas start as foundation, and if you want to add some plugin hook that <br />
gives broad sweeping access via some other authenticated mechanism, go for it<br />
09:31:40 ayleph okay, i think i get it. (it's still a little early for me on a saturday morning...)<br />
09:31:46 breton ok, that's actually nice<br />
09:32:07 breton here is what we need to do<br />
09:32:10 paroneayea so, what I imagine the person working on the ActivityPub implementation for the summer focusing <br />
primarily on delivery<br />
09:32:21 paroneayea so it's possible for them to focus on delivery, and not access control<br />
09:32:39 paroneayea but we need the actor and actor collections stuff put in place before GSoC for that to work<br />
09:32:47 paroneayea or else it's going to be a gnarly merge.<br />
09:32:47 breton 1. drop access control project for now<br />
09:33:00 paroneayea breton: or we can do that :)<br />
09:33:08 breton 2. add more description about activitypub stuff to the project<br />
09:33:20 breton activitypub looks scary<br />
09:33:25 paroneayea here's the other thing about activitypub<br />
09:33:30 breton i know it isn't, but it is.<br />
09:33:33 paroneayea I think this is going to be an unusual GSoC<br />
09:33:37 breton *but it looks<br />
09:33:42 paroneayea the person working on GSoC this year will in some ways be my "assistant"<br />
09:33:47 paroneayea I will be actively working with them<br />
09:34:31 paroneayea I think that could reduce the scariness a bit<br />
09:34:48 paroneayea so whoever is working on it this year will have to be willing to do a lot of collaboration, more <br />
than most GSoC<br />
09:34:58 paroneayea breton: does that make sense to you?<br />
09:35:01 breton paroneayea: yes<br />
09:35:11 paroneayea I figure I've been doing this ActivityPub stuff and getting it to a stable state for a couple of <br />
years<br />
09:35:27 paroneayea so it's time to land it, and I can certainly use help, but I think it'll go smoothest with <br />
direct guidance<br />
09:35:33 paroneayea tsyesika also said she'd be willing to help mentor<br />
09:36:46 paroneayea ok<br />
09:36:52 paroneayea so I guess one question is<br />
09:37:44 paroneayea since this is kind of an unusual GSoC, do we need to do anything to help students prepare or <br />
help check before GSoC stuff even starts?<br />
09:38:03 paroneayea breton: do you have ideas?<br />
09:38:16 paroneayea one tricky thing is I'm doing this test suite all month so that's going to be a bit overwhelming <br />
already :)<br />
09:38:17 breton the first thing i will do is update description of the task<br />
09:39:04 breton the worst thing about the whole federation stuff is lack of description readable in 5-10 minutes<br />
09:39:41 paroneayea ha<br />
09:39:43 paroneayea yeah<br />
09:39:56 paroneayea breton: maybe we should link to the part of the mediagoblin 2nd campaign video where federation <br />
is explained ;)<br />
09:40:22 breton the second worst is ambiguity of word "federation"<br />
09:41:57 paroneayea http://mediagoblin.org/pages/campaign.html 1:45-2:20 on the video for talking about federation :)<br />
09:42:10 paroneayea then it goes into some outdated stuff about the Pump API. but that was all pre-standardization!<br />
09:42:20 ayleph the description mentions that there's a federation branch...is the idea to first try to merge <br />
that branch, and then to convert it to activitypub?<br />
09:42:37 paroneayea ayleph: hauuuuugh, I need to review it.<br />
09:42:38 ayleph i imagine merging the branch alone may be a big task<br />
09:42:44 paroneayea yes that's true<br />
09:42:54 paroneayea maybe I need to devote weekends to getting up-to-date on that this month<br />
09:43:18 paroneayea so we have two other gsoc tasks also<br />
09:43:19 breton isn't it merged yet?<br />
09:43:25 paroneayea breton: no :)<br />
09:43:30 breton but<br />
09:43:34 paroneayea it's been sitting there, burning on the back burner :)<br />
09:43:48 breton why did the switch from user to actor happened?<br />
09:44:34 paroneayea breton: *part of* the federation stuff landed<br />
09:44:37 paroneayea but there's still more<br />
09:44:40 ayleph there were certainly a lot of changes to the API code a year or two ago, but it was a pretty <br />
basic implementation<br />
09:44:50 ayleph images only, most clients couldn't successfully connect<br />
09:44:53 paroneayea the complete federation branch is still sitting in tsyesika's branch<br />
09:44:56 breton oh well.<br />
09:45:00 paroneayea so<br />
09:45:03 paroneayea I guess that's a task for me.<br />
09:45:08 paroneayea assess the state of federation stuff<br />
09:45:14 * paroneayea piles it on a towering heap<br />
09:45:17 ayleph hehe<br />
09:45:32 ayleph is that branch on savannah?<br />
09:46:05 ayleph yeah, appears to be<br />
09:46:06 paroneayea nope, notabug https://notabug.org/tsyesika/federated-mediagoblin.git<br />
09:46:07 paroneayea oh<br />
09:46:10 paroneayea maybe there too<br />
09:46:33 ayleph oh, i probably shouldn't assume the one on savannah is the same one<br />
09:46:34 paroneayea we might have pushed it to sannah<br />
09:46:43 paroneayea another thing to look into!<br />
09:47:03 paroneayea ayleph: breton: ok, so I'm going to be crazy busy for the next 1.5 weeks on this test suite<br />
09:47:13 adfeno Savannah is the most respectful of the two repository hosts so far.<br />
09:47:18 paroneayea in 2 weeks, can I ask one of you to pester me, "hey how's reviewing that federation code going"? <br />
;)<br />
09:47:35 ayleph hmm, it looks like the one on notabug is many commits behind the one on savannah<br />
09:47:58 paroneayea ok, savannah is most up to date then. noted!<br />
09:48:15 ayleph oh, but then i noticed the "federation" branch on notabug<br />
09:48:31 ayleph they look about the same?<br />
09:49:00 paroneayea meh, I'll look :)<br />
09:49:08 breton ok, other GSoC projects<br />
09:49:11 paroneayea yes<br />
09:49:15 paroneayea there are 2 others!<br />
09:49:25 breton Multiple qualities of video<br />
09:49:48 breton i think it is pretty clear what to do there<br />
09:50:11 breton this is the one i would love to mentor<br />
09:50:13 ayleph maybe we could tack on some advanced user upload limit stuff to that one?<br />
09:50:15 paroneayea great :)<br />
09:50:25 paroneayea ayleph: don't we have a user upload limit thing?<br />
09:50:33 paroneayea maybe it's not advanced :)<br />
09:50:33 ayleph i think the current user upload limit code only looks at the size of the uploaded video (which <br />
may or may not stick around), not the size of the transcoded video<br />
09:50:46 ayleph and if we have multiple transcoded video sizes, that's a lot more disk space<br />
09:50:59 paroneayea ahhh<br />
09:51:03 paroneayea yes ayleph, good point.<br />
09:51:15 paroneayea I think that's a reasonable thing to add to it<br />
09:51:15 breton ayleph: lets just make a list of possible video qualities configurable<br />
09:51:47 breton ayleph: also, if original video is 480p, there is definitely no reason to transcode it to 720p<br />
09:53:42 breton ok, anything else aout multiple video qualities?<br />
09:54:04 paroneayea breton: seems pretty good<br />
09:54:19 breton cool. Our next project is "Chunked uploads / multi-upload UI"<br />
09:54:41 paroneayea I think we have like, three branches that have attempted this and I've failed to review any of <br />
them, like the terrible maintainer I am<br />
09:54:47 paroneayea well wait<br />
09:54:51 paroneayea I did review one once I think!<br />
09:54:52 breton this one looks like an easy one actually<br />
09:55:56 ayleph looking at the comments on the wiki, this may already be working code<br />
09:56:15 ayleph i didn't realize that someone had updated the VenKamikaze multi-upload code to work with 0.9<br />
09:58:31 breton so... there is no project?<br />
09:59:04 ayleph i'm not sure, but at a quick glance, it seems that most of the work is already done<br />
09:59:10 breton the code also doesn't look too complex for GSoC project<br />
09:59:17 ayleph unless we want someone to create a new method<br />
09:59:43 ayleph this code may need some adjustments; i'm not sure what happens if a browser doesn't support html5<br />
09:59:50 ayleph but i don't think that's worthy of GSoC<br />
10:00:31 breton i agree<br />
10:00:34 paroneayea ok :)<br />
10:00:40 breton lets drop the project<br />
10:00:53 paroneayea also, one more thing<br />
10:01:06 paroneayea is there any reason not to generalize multiple quality types?<br />
10:01:18 paroneayea eg, multiple image quality, multiple audio quality<br />
10:01:20 paroneayea all seems related.<br />
10:01:27 paroneayea just thinkin' out loud here.<br />
10:01:45 breton weeeell<br />
10:01:55 breton multiple audio qualities -- meh<br />
10:02:10 breton maybe just 2 -- high-quality and low-quality<br />
10:02:26 breton well actually yes<br />
10:02:30 breton this could be a thing<br />
10:03:23 breton i am now thinking how i would do this project<br />
10:05:36 ayleph totally different subject just popped into my head, but isn't there some issue with celery <br />
moving forward? is this something that we could turn into a project?<br />
10:05:56 paroneayea ayleph: yes... so our Celery stuff is kind of a mess<br />
10:05:59 ayleph i seem to recall celery 4 dropped support for something that we need<br />
10:06:19 paroneayea it dropped our crappy default solution that used an sqlite database as a message queue ;)<br />
10:06:24 paroneayea I think we agreed to move to RabbitMQ<br />
10:06:28 ayleph oh okay<br />
10:06:45 paroneayea this might not be that big of a project, not sure if it's a whole summer's worth, but it needs <br />
to be done<br />
10:08:23 breton ++<br />
10:09:17 breton maybe it will be done as part of multiple audio qualities<br />
10:09:19 paroneayea (also, if the chunked upload stuff really is ready, why haven't we merged it? :) probably my <br />
fault...)<br />
10:09:32 paroneayea too bad "odds and ends" style GSoC's never seem to work out<br />
10:09:59 breton because the project requires priorities in video transcoding<br />
10:10:19 breton paroneayea: i will think about generalizing the qualities<br />
10:10:42 breton we are 10 minutes out of our time and i need to go :)<br />
10:11:18 breton thanks everyone for coming<br />
10:11:25 paroneayea yes, time to wrap up<br />
10:11:43 paroneayea #endmeeting ;)<br />
</pre></div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Meeting&diff=1894Meeting2017-03-04T18:59:43Z<p>Ayleph: </p>
<hr />
<div>== MediaGoblin Monthly Meeting ==<br />
<br />
'''When:''' 9:00 am Pacific Time first Saturday of the month. [http://www.timeanddate.com/worldclock/converter.html Convert time to your timezone]. Print current UTC time: <code>date -u +"It's %F %T UTC"</code>. [https://en.wikipedia.org/wiki/Daylight_saving_time_in_the_United_States#2005_revision_to_dates_of_observance Pacific Time in 2014 has DST between March 9th and November 2nd].<br />
<br />
'''Where:''' IRC #mediagoblin on irc.freenode.net<br />
<br />
Always announced several days in advance on the [http://lists.mediagoblin.org/pipermail/devel/ mailing list] as is date adjustments, agenda discussion and other meeting preparation.<br />
<br />
'''Purpose:''' The idea is to discuss the past month, what happened, what was good, what should be done better. And to create roadmap for the upcoming month and assign tasks to people willing to handle them.<br />
<br />
Typical Agenda topics:<br />
<br />
* What happened in the last month, what was good, what could be better next time?<br />
* What should be done next month?<br />
<br />
Meetings are logged. See below for logs of each meeting.<br />
<br />
== Next Meeting ==<br />
<br />
Every first Saturday of the month with JIT-compiled agenda.<br />
<br />
=== April 1, 2017 ===<br />
<br />
== Past Meetings ==<br />
<br />
=== March 4, 2017, 9:00AM Pacific Time, 17:00 UTC ===<br />
* Federation and ActivityPub progress<br />
* GSoC<br />
<br />
=== Oct 1, 2016 ===<br />
<br />
=== Sept 4, 2016, 17:00 UTC ===<br />
<br />
[[20160904_Log]]<br />
<br />
=== May 7, 2016 ===<br />
<br />
=== April 2, 2016, 17:00 UTC ===<br />
* 0.9.0 release (done!)<br />
* GSoC<br />
* 1.0<br />
<br />
[[20160402_Log]]<br />
<br />
=== March 5, 2016, 9:00AM Pacific Time, 17:00 UTC ===<br />
* 0.9.0 release (imminent!)<br />
* GSoC<br />
** Project ideas<br />
** Interested mentors?<br />
* Federation mini-update<br />
<br />
[[20160305_Log]]<br />
<br />
<br />
=== February 6, 2016, 9:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* Continuous integration / Commit Notifications<br />
* Move sqlite to development-only? (no more migrations)<br />
* Upcoming 0.9.0 release<br />
* Path to 1.0<br />
* Stripe retreat update<br />
* ActivityPub update (related!)<br />
* GSOC ideas, and volunteers?<br />
<br />
[[20160206_Log]]<br />
<br />
=== January 2, 2016, 9:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* 0.9.0<br />
* FOSDEM<br />
* 0.8.2<br />
[[20160102_Log]]<br />
<br />
=== November 7, 2015, 9:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* 0.8.1 and 0.9.0<br />
* Activipy and W3C Social WG stuff<br />
* Help squash bugs!<br />
* Revisiting the code / issue hosting situation??<br />
<br />
=== March 7, 2015, 09:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* Moving off of gitorious, to?<br />
* 0.8.0 upcoming release<br />
* LibrePlanet and W3C meeting<br />
* GSoC 2015<br />
* Heads up: UserOps list<br />
* Federation status<br />
* Chris to take a temporary break?<br />
<br />
=== December 6, 2014, 09:00AM Pacific Time, 17:00 UTC ===<br />
<br />
* 0.8.0 upcoming release<br />
** Current state (including looking at issue list)<br />
** How to help!<br />
*** Help us [https://issues.mediagoblin.org/query?status=new&status=in_progress&status=accepted&status=review&group=status&milestone=0.8.0 fix issues!]<br />
*** Documentation (check it! improve it!)<br />
*** Gstreamer 1.0 merge?<br />
*** Help test!<br />
*** Translate? (Maybe, but maybe not yet?)<br />
* Translation talk, if breton is around<br />
* Update on federation<br />
* Update on W3C group<br />
<br />
=== November 1, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
Loose meeting structure :)<br />
<br />
=== October 4, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* 0.8.0 progress<br />
** Python 3 is in!<br />
** Cleanup happening<br />
** What's next<br />
*** Gstreamer 1.0 merge<br />
*** Search merge<br />
*** [https://issues.mediagoblin.org/query?status=new&status=in_progress&status=accepted&status=review&group=status&milestone=0.8.0 Tickets!]<br />
* Autoconf update<br />
* Breton's translation update<br />
* Federation update<br />
* Deployment research update<br />
* Add your things!<br />
<br />
=== September 6, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* Things happened! Horray!<br />
** 0.7.0 is out!<br />
** GSoC is done!<br />
* Transifex move... help!<br />
* 0.8.0 planning<br />
* Updates on federation<br />
* Updates on campaign-todo-items<br />
* Premium hosting and deployment<br />
* Documentation updates ( j1mc )<br />
* Triage day! And the [https://etherpad.mozilla.org/gmg-triage new setup]!<br />
* Help on reviewing?<br />
* Epicanis' feature questions<br />
<br />
<br />
=== August 2, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* GSoC updates<br />
* State of 0.7.0<br />
* State of Federation<br />
* State of post-campaign stuff (rewards, etc)<br />
* General community updates<br />
* Feedback: how are things going?<br />
<br />
<br />
=== June 7, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* GSoC updates<br />
* Researchcation brief summary<br />
* Campaign-related updates<br />
* Upcoming release<br />
* Code reviews<br />
<br />
=== May 3, 2014, 09:00AM Pacific Time, 16:00 UTC<!-- change to 17:00 for December 2014 --> ===<br />
<br />
* GSoC starts!<br />
* Post campaign updates!<br />
** Horray, we did it!<br />
** Unlocked features<br />
** The rewards<br />
** Premium hosting brainstorm<br />
** Extra features brainstorm<br />
* [http://lists.mediagoblin.org/pipermail/devel/2014-May/000867.html Metadata] discussion<br />
* Chris' researchcation<br />
** Federation stuff<br />
** Deployment stuff<br />
** Other stuff?<br />
* Help review!<br />
* Add your items HERE!<br />
<br />
<br />
=== March 1st, 2014, 09:00AM Pacific Time, 17:00 UTC<!-- change to 16:00 for April-November 2014; then to 17:00 for December 2014 --> ===<br />
<br />
* GSoC<br />
* The [http://mediagoblin.org/pages/campaign.html crowdfunding campaign!]<br />
** State of things / Q & A<br />
** You can help!<br />
* MediaGoblin in the meanwhile<br />
<br />
=== November 2nd, 2013, 09:00AM Pacific Time, 16:00 UTC ===<br />
<br />
Pretty loose on the schedule this month? :)<br />
<br />
* Post-conference wrapup stuff?<br />
* What's ahead in the next year for MediaGoblin?<br />
<br />
=== October 5th, 2013, 09:00AM Pacific Time, 16:00 UTC ===<br />
<br />
* Post-OPW/GSoC wrapup discussion <br />
* Huge pile of code to review<br />
* Planning out 0.6.0<br />
* Road to 1.0<br />
* mediagoblin.org changes<br />
* GNU 30th recap, upcoming conferences<br />
* MediaGoblin's graphic design?<br />
<br />
=== September 7th, 2013 ===<br />
<br />
* 0.5.0 release recap!<br />
* Next release: 0.6.0!<br />
* GSoC/OPW updates<br />
* Review queue that needs attention<br />
* GNU 30th! (and traveling)<br />
* Other things???<br />
<br />
=== August 3rd, 2013 9:00 am Pacific Time (2013-08-03 16:00 UTC) ===<br />
<br />
* Configure && make merge<br />
* 0.5.0 plans<br />
* GSoC / OPW updates<br />
* GNU 30th birthday party / GoblinCon? :)<br />
* Documentation overhaul<br />
* Reprocessing<br />
* Bonus topics<br />
** Mumble server<br />
** XUDD<br />
<br />
=== July 6th, 2013 9:00 am Pacific Time (2013-07-06 16:00 UTC) ===<br />
<br />
* 0.4.0 is out! On to 0.4.1!<br />
* OPW/GSoC update<br />
* Federation status<br />
* Module owners (and reducing the "Chris Webber bottleneck")?<br />
** Projects like Blender, the Linux Kernel, and qemu have "module owners", people responsible for a domain of the code<br />
** Could/should MediaGoblin do the same?<br />
** How would that be broken up?<br />
<br />
=== Jun 1st, 2013 9:00 am Pacific Time (2013-06-01 16:00 UTC) ===<br />
<br />
* Welcoming our GSoC and OPW interns<br />
* The coming 0.4.0<br />
* What's after 0.4.0?<br />
* RTL<br />
<br />
<br />
=== May 4th, 2013, 9:00 am Pacific Time (2013-05-04 16:00 UTC) ===<br />
<br />
[[meeting-2013-05-04|May 4th, 2013, 9:00 am Pacific Time (2013-05-04 16:00 UTC)]]<br />
<br />
* GSOC and Gnome Outreach for Women participation update<br />
* Mention the bug triage meeting<br />
* Improving our unit tests?<br />
* 0.4.0 release coming soon<br />
* Help review code?<br />
* Thanking simonft for sysadmin help!<br />
<br />
=== April 6, 2013, 9:00 am Pacific Time (2013-03-30 16:00 UTC) ===<br />
<br />
* Plugins update<br />
* Post-libreplanet sprint merging<br />
* Gstreamer 1.0 stuff (if Joar is here!)<br />
* GSOC and Gnome Outreach for Women participation<br />
* ???<br />
<br />
=== March 2nd, 2013, 9:00 am Pacific Time (2013-03-02 16:00 UTC) ===<br />
<br />
* Bug triage day discussion<br />
* Upgrading Trac to 1.0<br />
* Next release: 0.3.3<br />
* Consider have release dates?<br />
* Plugin stystem<br />
* Consider moving to GStreamer 1.0<br />
** Debian - 1.0 in sid<br />
** Ubuntu - 1.0 in 12.10<br />
*** Possibly backports for 12.04<br />
** Fedora - 1.0 in 18<br />
* Upcoming conferences and hackathons<br />
<br />
=== February 9th, 2013, 9:00 am Pacific Time (2013-02-09 16:00 UTC) ===<br />
<br />
* 0.3.3 milestone! What about our next release? :)<br />
* Where to put Developer docs?<br />
*: Our Documentation for developers is currently a bit split. Some are on the wiki, some in the main docs. There are pros and cons for both. We should consider where to put things. One place? Which? Or decide on an individual basis?<br />
*: Good about main docs: Easy to integrate source code doc strings. That way internal api docs can be kept mostly up to date.<br />
*: Good about wiki: Doesn't feel so "set in stone".<br />
* wiki spam: Do we want to change something?<br />
* [http://lists.mediagoblin.org/pipermail/devel/2012-November/000307.html Designing features!]<br />
* Plugins, and architecting for plugins<br />
* Chris Webber gives updates on how he's settling into his role ;)<br />
<br />
=== October 13th, 2012, 9:00 am Pacific Time (2012-10-13 16:00 UTC) ===<br />
<br />
* 0.3.2 release<br />
** What existing features need to be wrapped up?<br />
*** Werkzeug switch<br />
** What time might we do the release?<br />
* Fundraising campaign<br />
** Keeping things going mid-campaign<br />
** You have questions? I have answers, kinda :)<br />
* Getting new contributors involved<br />
* Plugins? New features?<br />
<br />
==== Etherpad ====<br />
<pre><br />
AGENDA<br />
<br />
0.3.2 release <br />
<br />
What existing features need to be wrapped up? <br />
<br />
Werkzeug switch <br />
<br />
What time might we do the release? <br />
<br />
Congrats to Deb from the mediagoblin team! Congrats de Deb!<br />
<br />
Fundraising campaign <br />
<br />
Keeping things going mid-campaign <br />
<br />
You have questions? I have answers, kinda :) <br />
<br />
Getting new contributors involved <br />
<br />
Plugins? New features? <br />
<br />
-- http://wiki.mediagoblin.org/Meeting#Next_Meeting<br />
Fundraising stuff<br />
Things are going great mostly when people check it out!<br />
But how to spread the word?<br />
<br />
should contact more podcasts, etc<br />
<br />
currently working with FSF on this<br />
<br />
need community to spread the word!<br />
<br />
List of places already spreaded list and contacted<br />
<br />
VideoThumbnailerMarkII<br />
New video thumbnailer, rewritten to try to eliminate a bug in the old one where processing would stall.<br />
New bugs introduce (of course ;)<br />
Collections<br />
Merged - Thanks aaronw!<br />
WebOb => Werkzeug switch<br />
Made some things break. Need help with testing + bugfixes<br />
borked stuffs:<br />
<br />
Accessing paths without trailing slashes, e.g. /submit (instead of /submit/)<br />
<br />
Still a lot of legacy WebOb responses (such as webob.exc.HTTPFound() HTTPForbidden() left)<br />
<br />
API<br />
Delivered to mrn.is, tryggvib will test it and get back with feedback.<br />
Working, still a lot of room for improvements.<br />
Mostly done, usable, still room for improvements. Example applications:<br />
<br />
https://github.com/jwandborg/automgtic<br />
<br />
https://github.com/jwandborg/omgmg<br />
</pre><br />
<br />
=== September 1st, 2012, 9:00 am Pacific Time (2012-09-01 16:00 UTC) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-09-01.txt IRC log]<br />
<br />
* FIXME - can someone type in summary here?<br />
<br />
=== August 4th, 2012, 9:00 am Pacific Time (2012-08-04 16:00 UTC) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-08-04.txt IRC log]<br />
<br />
* Release schedule<br />
* Plugins and themes! Who's working on one? What problems are you having? -- Please write up issues for problems so they can get fixed!<br />
* Should we namespace plugins? If so, how should we namespace plugins?<br />
** Python 3.3 will have support for namespace plugins. [http://www.python.org/dev/peps/pep-0420/#namespace-packages-today]<br />
** In Python >=2.3, <3.3 it's a hack [http://www.python.org/dev/peps/pep-0402/#the-problem][http://www.python.org/dev/peps/pep-0420/#namespace-packages-today]<br />
** Flask has a workaround[https://github.com/mitsuhiko/flask/blob/master/flask/ext/__init__.py]<br />
<br />
=== July 7th, 2012, 9:00 am Pacific Time (2012-07-07 16:00 UTC) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-07-07.txt IRC log]<br />
<br />
Announcements:<br />
<br />
* Anyone who wants to edit the wiki needs to be in the goblin army group. Ask Will or Chris to get added.<br />
* Plugin infrastructure landed. If you're interested in writing plugins, talk to Will. Some documentation at http://docs.mediagoblin.org/#part-2-plugin-writer-s-guide<br />
<br />
Agenda:<br />
<br />
* Keyboard shortcuts ([http://issues.mediagoblin.org/ticket/346 #346])<br />
* Ticket triaging?<br />
* Base plugin stuff!<br />
* Theming<br />
* Conference: OSCON<br />
* Chris Webber's new "office hours"<br />
<br />
=== June 2nd, 2012, 9:00 am Pacific Time ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-06-02.txt IRC log]<br />
<br />
* docs changes<br />
** Will split the docs/ guide into a Site Administrator's Guide and a Plugin Writer's Guide<br />
** Has anyone looked at the Plugin Writer's Guide, yet?<br />
** Will wants to add a "Contributor's Guide" to docs/ which he'd update from the wiki before every release<br />
* Is there a way to improve our unit tests and motivation to write them?<br />
** Simulating a browser by the way of [http://phantomjs.org/ PhantomJS], [http://seleniumhq.org/ Selenium] instead of having code simulating other code against itself might be more natural to write and even more testing the actual application. I have a good feeling about this, please prove me wrong if I'd be. --[[User:Joar|Joar]] 08:53, 28 May 2012 (EDT)<br />
* Administrative panel/tools and user uploads panel<br />
* Git and tickets <br />
* Plugins<br />
** What's the state of things?<br />
** Documentation<br />
** What plugins might we want to build for this upcoming release?<br />
** What things do we currently have that we might want to pluginify?<br />
* State of kuneco/federation mini-update (Chris)<br />
<br />
=== May 5th, 2012, 9:00 am Pacific Time ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-05-05.txt IRC log]<br />
<br />
* Post-release reflections<br />
** Woohoo, release!<br />
** How did this release process go?<br />
*** We should talk about that conference.<br />
** What's left to clean up?<br />
*** Mongokit->SQL "style" query conversion?<br />
*** Other cruft code?<br />
* What are our next goals?<br />
** Plugins<br />
** Federation<br />
** Favoriting<br />
*** Take that, Pinterest! ;)<br />
** Galleries<br />
** Theming<br />
*** Using sass would be neat<br />
** Access restrictions<br />
*** User management, or having a "secret url" that is not in the photo index that you can share with friends and generate as needed for any media type<br />
** What about traffic? Some of us will host GMG on limited plans.<br />
** Some kind of coding guidelines? Do we have a philosophy like "Keep it Simple, Stupid"<br />
*** This concerns things like: Should plugins land in core eventually, do we want to support ALL THE MEDIA TYPES, ...<br />
** Podcasting support?<br />
** Things that have been hanging???<br />
** Bugtrackers and milestone?<br />
** More??? We should organize things!<br />
* jancborchardt and his team of UX wizard-students<br />
* Website redesign<br />
* OpenShift?<br />
<br />
<br />
=== April 7th, 2012, 4:00 pm UTC ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-04-07.txt IRC log]<br />
<br />
* Post-SQL stuff<br />
* Pending 0.0.3 release!<br />
* Are there stray patches/branches to be merged?<br />
* Our glorious upcoming plugin future! (Update from Will)<br />
<br />
=== March 3rd, 2012, 9:00 am Pacific Time ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-03-03.txt IRC log]<br />
<br />
* [[GSOC 2012]]<br />
* State of the SQL transition (preview: it's super close, but we need help!)<br />
* Plugin discussion (Will can't make this, but we should talk about use cases)<br />
* MediaGoblin at upcoming conferences<br />
* PageKite accounts<br />
<br />
<br />
=== 2012-02 (held on 2012-02-04) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2012-02-04.txt IRC log]<br />
<br />
* Code style guide? See also: http://issues.mediagoblin.org/ticket/197<br />
* Kuneco/federation<br />
* API<br />
* More testing discussion?<br />
* Theming?<br />
* Preliminary plugin discussion<br />
* Status update from the "SQL Team".<br />
<br />
Some of the decisions:<br />
<br />
* file an issue about proper &lt;audio&gt; support.<br />
* some TODOs recorded<br />
<br />
<br />
=== 2011-12 (held on 2011-12-03) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-12-03.txt IRC log]<br />
<br />
* We plan to create a plugin system. Do we want to create that soon or push it off until things settle a bit more? ([[User:Willkg|Willkg]] 08:54, 10 November 2011 (EST))<br />
* [[Feature Ideas]]: What should we do about the wiki page? Keep it and have it as a monthly topic for "what next"? Convert everything to long waiting bugs?<br />
* Possibility of an [[SQL Database Backend]]?<br />
*: 'executive summary' (well, you should read the long docs): "We could move to sql. It's probably replacing one type of pain by another type of pain, but those are somewhat comparable. Leaving the main question: Do we want to occupy our main devs for some long time with this task and loose momentum?"<br />
* Schendje's [http://wiki.mediagoblin.org/Feature_Ideas/Activities activities proposal]<br />
* "Coming up next" blogpost draft by Deb Nicholson<br />
* Jef's requests:<br />
** Ticket #466 "Use of "Submit" in site copy is sterile and not as friendly and welcoming as it could be". I'd really like to change this soon to something more suitable. How can we improve the wording here? Some alternatives have been mentioned in the bug report, but which one should we pick? Link: http://bugs.foocorp.net/issues/466<br />
** The concept and naming of "favourites". We'll (hopefully) be able to "favourite" media soon, which I *think* means that 1) it'll work like a "I like this" comment, a quick token of appreciation, 2) it'll be added to your list of favourites so you can save and promote it, and 3) we could maybe use the number of favourites as a ranking. What I'd like to know is: is that the intended purpose? If so, should we name them favo(u)rites or something else? "Like", "love", "save", "appreciate", "heart", "high five" and many more could all be contenders. And the name should be consistent with the action and purpose, of course. So I'd like to clear up how and why we will use favourites and what we should call them.<br />
<br />
<br />
=== 2011-11 (held on 2011-11-05) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-11-05.txt IRC log]<br />
<br />
* What happened in the last month, what was good, what could be better next time?<br />
** Release:<br />
*** Good: 0.1.0 released!<br />
*** Bad: postponing vs not postponing<br />
** Sites and deployment documentation:<br />
*** Good: new mediagoblin.org<br />
*** Good: deployment documentation<br />
*** Bad: py-bcrypt’s site was down just after the release, so the virtualenv deployment didn’t work, and it wasn’t clear how to fix it.<br />
** Live instances:<br />
*** Joar has a live instance!<br />
*** But what does it mean? Should ordinary users start using it?<br />
**** Details at [[User:Joar/mg.wandborg.se]] -- [[User:Joar|Joar]] 17:01, 6 November 2011 (EST)<br />
*** nyergler added a note about "heartbeat"/status to API notes<br />
* What should be done next month?<br />
* Starting real work on federation (via OStatus)... and do we split any of this work out into its own library?<br />
* An API<br />
* Creative Commons licensing tools<br />
* Merging in the multimedia/video branch<br />
*: (this is *very close* already actually thanks to the hard work of Joar Wandborg! But we need some help on the gstreamer front to fix a few issues... if you or someone you know is an expert in this area we could really use their help to make the videos that come out smoother!)<br />
* Rollover items from 0.1.0<br />
* Multiple file upload interface<br />
* Drag and drop uploads interface (probably related!)<br />
<br />
<br />
=== 2011-10 (held on 2011-10-01) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-10-01.txt IRC log]<br />
<br />
This month's meeting was a quickly announced short meeting. The project is getting back on track and next month's meeting will be scheduled more properly. A bunch of people were around.<br />
<br />
The most important decisions:<br />
* The project will keep monthly releases. They're the heartbeat of the project.<br />
* Release 0.1.0 this sunday/monday.<br />
* New website will hopefully be deployed in the next few days.<br />
* And the following things are planned to happen during this month: Most importantly federation. The developers have decided to make up their minds on what federation aactually should mean for MediaGoblin. Concerning code, probably "activity streams" are the first goal. If there is no (good) python library for this, a new stand alone library may be created. If so, a name for it has to be found. It should have something about communication in it. And the other thing to happen during this month is an ongoing discussion about "bus factor".<br />
<br />
<br />
=== 2011-09 (held on 2011-09-03) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-09-03.txt IRC log]<br />
<br />
<br />
=== 2011-08 (held on 2011-08-06) ===<br />
<br />
[http://mediagoblin.org/irclogs/irc_meeting_2011-08-06.txt IRC log]</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=HackingHowto&diff=1861HackingHowto2016-10-18T05:39:24Z<p>Ayleph: Add section about py2 vs py3 and issues with py3</p>
<hr />
<div>= Hacking HOWTO =<br />
<br />
<br />
== So you want to hack on GNU MediaGoblin? ==<br />
<br />
First thing to do is check out the [http://mediagoblin.org/join/ web site] where we list all the project<br />
infrastructure including:<br />
<br />
* the IRC channel<br />
* the mailing list<br />
* the issue tracker<br />
<br />
Additionally, we have information on how to get involved, who to talk<br />
to, what needs to be worked on, and other things besides!<br />
<br />
Second thing to do is take a look at [http://docs.mediagoblin.org/devel/codebase.html codebase chapter] where<br />
we've started documenting how GNU MediaGoblin is built and how to add<br />
new things. If you're planning on contributing in python, you should be aware<br />
of [http://www.python.org/dev/peps/pep-0008/ PEP-8], the official Python style guide,<br />
which we follow.<br />
<br />
Third you'll need to get the requirements.<br />
<br />
Fourth, you'll need to build a development environment. We use an<br />
in-package checkout of virtualenv. This isn't the convenional way to<br />
install virtualenv (normally you don't install virtualenv inside the<br />
package itself) but we've found that it's significantly easier for<br />
newcomers who aren't already familiar with virtualenv. If you *are*<br />
already familiar with virtualenv, feel free to just install<br />
mediagoblin in your own virtualenv setup... the necessary adjustments<br />
should be obvious.<br />
<br />
== Python 2 vs Python 3 ==<br />
<br />
GNU MediaGoblin was originally written for Python 2, and much of the documentation on the wiki reflects that. However, since release v0.9.0, GNU MediaGoblin has attempted to provide support for Python 3. Unfortunately, not everything is working for Python 3 environments yet. Below is a non-exhaustive list of things that might not work if you set up GNU MediaGoblin a Python 3 environment.<br />
<br />
=== Python 3 Issues ===<br />
<br />
* fcgi - none of the flup packages ([https://pypi.python.org/pypi/flup flup], [https://pypi.python.org/pypi/flup-py3 flup-py3], [https://pypi.python.org/pypi/flup6 flup6]) appear to have proper support for Python 3.5.<br />
* audio file spectrographs - [https://pypi.python.org/pypi/scikits.audiolab scikits.audiolab] [https://issues.mediagoblin.org/ticket/5467 appears to not work] in Python 3.<br />
* Rackspace storage - the [https://pypi.python.org/pypi/python-cloudfiles cloudfiles] plugin may not work with Python 3.<br />
<br />
== Getting requirements ==<br />
<br />
First, you need to have the following installed before you can build<br />
an environment for hacking on GNU MediaGoblin:<br />
<br />
* Python 2.7 - http://www.python.org/ (You'll need Python as well as the dev files for building modules.)<br />
* python-lxml - http://lxml.de/<br />
* git - http://git-scm.com/<br />
* SQLAlchemy 0.7.0 or higher - http://www.sqlalchemy.org/<br />
* Pillow - http://python-pillow.org/<br />
* virtualenv - http://www.virtualenv.org/<br />
* Python GStreamer Bindings - http://gstreamer.freedesktop.org/modules/gst-python.html<br />
* Node.js<br />
<br />
=== GNU/Linux ===<br />
<br />
==== Debian and derivatives ====<br />
<br />
If you're running Debian GNU/Linux or a Debian-derived distribution<br />
such as Debian, Mint, or [http://bugs.foocorp.net/issues/478 Ubuntu 10.10+], running the following should install these<br />
requirements:<br />
<br />
{{Cmd|sudo apt-get install git-core python python-dev python-lxml python-imaging python-virtualenv python-gst-1.0 libjpeg8-dev autoconf nodejs npm nodejs-legacy}}<br />
<br />
==== Debian GNU/Linux jessie ====<br />
<br />
{{Cmd|sudo apt-get install -y git-core python python-dev python-lxml python-imaging python-virtualenv libjpeg-dev autoconf nodejs npm nodejs-legacy python-gst-1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-libav python-numpy python-scipy libsndfile1-dev libasound2-dev libgstreamer-plugins-base1.0-dev}}<br />
<br />
==== Fedora / RedHat(?) / CentOS ====<br />
<br />
===== On Fedora: =====<br />
<br />
{{Cmd|yum install python-paste-deploy python-paste-script git-core python python-devel python-lxml python-imaging python-virtualenv gstreamer-python nodejs}}<br />
<br />
===== On CentOS7: =====<br />
<br />
'''epel-release''' is the prerequisite for most of the below listed packages<br />
<br />
{{Cmd|sudo yum install epel-release}}<br />
<br />
{{Cmd|sudo yum update}}<br />
<br />
{{Cmd|sudo yum install python-paste-deploy python-paste-script \ git-core python python-devel python-lxml python-imaging \ python-virtualenv npm automake nginx gcc}}<br />
<br />
for video to work correctly (as per [https://mediagoblin.readthedocs.io/en/stable/siteadmin/media-types.html?highlight=video#video Enabling Media-Types Video]) you may choose to install AWEL 3rd party repo which provides with the latest gstreamer bindings and more:<br />
<br />
* [http://awel.domblogger.net/7/media/x86_64/repoview/awel-media-release.html AWEL Repo],[https://media.librelamp.com/gst AWEL Gstreamer]<br />
<br />
once installed:<br />
<br />
{{Cmd|sudo yum install gstreamer1 gstreamer1-libav gstreamer1-plugins-base gstreamer1-plugins-base-tools gstreamer1-plugins-good gstreamer1-plugins-ugly gstreamer1-plugins-bad gstreamer1-python ffmpeg }}<br />
<br />
==== openSUSE ====<br />
<br />
This instructions might be incomplete.<br />
Try on openSUSE 13.2 or 13.1:<br />
<br />
{{Cmd|zypper install python-devel python-gstreamer-0_10 git-core python python-lxml python-Pillow python-virtualenv npm}}<br />
<br />
==== ArchLinux / Parabola ====<br />
<br />
The following command should work (<del>not tested on a new ArchLinux / Parabola install</del>. tested, it works):<br />
<br />
{{Cmd|pacman -S git python2 python2-lxml python2-pillow python2-virtualenv gstreamer0.10-python}}<br />
<br />
=== Mac OS X ===<br />
<br />
==== Mac OS X Lion ====<br />
<br />
Download the Newest Python.<br />
<br />
Git is already installed.<br />
<br />
* Note for Pillow and lxml, you can: pip install Pillow lxml<br />
<br />
Python-lxml: http://muffinresearch.co.uk/archives/2009/03/05/install-lxml-on-osx/ with sudo<br />
<br />
Pillow: http://pillow.readthedocs.org/en/3.0.x/installation.html#os-x-installation<br />
<br />
Libjpeg & Libpng: http://ethan.tira-thompson.com/Mac_OS_X_Ports.html Combo Installer<br />
<br />
==== Mac OS X Snow Leopard ====<br />
<br />
# You will probably want to install MacPorts this will give you access to many free software packages in the same manner to apt-get and yum: https://www.macports.org/install.php<br />
# Ensure you install Git and the command line tools: https://help.github.com/articles/set-up-git#platform-mac<br />
# Once both of those are installed type this in your terminal and enter your password when prompted for it {{Cmd|sudo port install python27 py27-lxml py27-sqlalchemy py27-Pillow py27-virtualenv py27-gst-python py27-pastescript}}<br />
<br />
=== Microsoft Windows ===<br />
<br />
''Thanks wctype!''<br />
<br />
==== Getting requirements ====<br />
<br />
* Python 2.7 - [http://www.python.org/download/ Download] <!-- http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi --><br />
* git - [https://github.com/msysgit/git/downloads Download] <!-- https://github.com/downloads/msysgit/git/Git-1.7.11-preview20120620.exe --><br />
* python-lxml - [http://pypi.python.org/pypi/lxml/2.3.5#downloads Tarball] [http://www.lfd.uci.edu/~gohlke/pythonlibs/#pil Binaries] <!-- http://pypi.python.org/packages/source/l/lxml/lxml-2.3.5.tar.gz, http://www.lfd.uci.edu/~gohlke/pythonlibs/z8sp4uqu/lxml-2.3.5.win32-py2.7.exe --><br />
* Pillow - [http://pillow.readthedocs.org/en/3.0.x/installation.html#windows-installation Download] <!-- http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe] --><br />
* virtualenv - [http://pypi.python.org/pypi/virtualenvwrapper-win/1.0.8#downloads Download] <!-- http://pypi.python.org/packages/source/v/virtualenvwrapper-win/virtualenvwrapper-win-1.0.8.zip --><br />
* OSSBuild project provides reasonably up-to-date binaries of GStreamer - [https://code.google.com/p/ossbuild/downloads/list Download] <!-- http://ossbuild.googlecode.com/files/GStreamer-WinBuilds-GPL-x86.msi --><br />
* py-bcrypt - [https://bitbucket.org/alexandrul/py-bcrypt/downloads/ Download] <!-- https://bitbucket.org/alexandrul/py-bcrypt/downloads/py-bcrypt-0.2.post1.win32-py2.7.exe --><br />
* Node JS<br />
<br />
----<br />
<br />
'''You can help:'''<br />
<br />
If you have instructions for other GNU/Linux distributions, Windows, or Mac OS X to set<br />
up requirements, [http://mediagoblin.org/join/ let us know]!<br />
<br />
== How to set up and maintain an environment for hacking with virtualenv ==<br />
<br />
'''Requirements'''<br />
<br />
No additional requirements.<br />
<br />
<br />
'''Create a development environment'''<br />
<br />
After installing the requirements, follow these steps:<br />
<br />
* Clone the repository: {{Cmd|git clone <nowiki>git://git.savannah.gnu.org/mediagoblin.git</nowiki>}}<br />
* Make the environment: {{Cmd|./bootstrap.sh && ./configure && make}}<br />
* Init the database:<br />
{{Cmd|./bin/gmg dbupdate}}<br />
<br />
That's it!<br />
<br />
If you want to make sure things are working, consider running the test suite:<br />
{{Cmd|./runtests.sh}}<br />
<br />
(If you have troubles in the remaining steps, consider try installing<br />
virtualenv with one of the flags --setuptools, --distribute or possibly --no-site-packages. Additionally, if your system has python3.X as the default, you might need to do virtualenv --python=python2.7 or --python=python2.6)<br />
<br />
If you have problems, please [http://mediagoblin.org/join/ let us know]!<br />
<br />
== Updating an existing environment ==<br />
<br />
'''Updating for dependency changes'''<br />
<br />
While hacking on GNU MediaGoblin over time, you'll eventually have to<br />
update your development environment because the dependencies have<br />
changed.<br />
<br />
To do that, run:<br />
<br />
{{Cmd|./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate}}<br />
<br />
<br />
'''Updating for code changes'''<br />
<br />
{{Cmd|git pull -u}}<br />
{{Cmd|git submodule update}}<br />
<br />
<br />
'''NOTE:''' MediaGoblin used to be hosted on gitorious.org, but that is moving to read-only mode, so we're now on Savannah. If you have an old checkout, please update it by running the following:<br />
<br />
{{Cmd|git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git}}<br />
<br />
== Running the server ==<br />
<br />
If you want to get things running quickly and without hassle, just<br />
run:<br />
<br />
{{Cmd|./lazyserver.sh}}<br />
<br />
<br />
This will start up a python server where you can begin playing with<br />
mediagoblin, listening on 127.0.0.1:6543. It will also run celery in "always eager" mode so you<br />
don't have to start a separate process for it.<br />
<br />
By default, the instance is not sending out confirmation mails. Instead they are redirected to the standard output (the console) of lazyserver.sh.<br />
<br />
You can change this behavior setting <code>email_debug_mode</code> to <code>false</code> in mediagoblin.ini<br />
<br />
<br />
This is fine in development, but if you want to actually run celery<br />
separately for testing (or deployment purposes), you'll want to run<br />
the server independently:<br />
<br />
{{Cmd|./bin/paster serve paste.ini --reload}}<br />
<br />
<br />
== Running celeryd ==<br />
<br />
If you aren't using <tt>./lazyserver.sh</tt> or otherwise aren't running celery<br />
in always eager mode, you'll need to do this if you want your media to<br />
process and actually show up. It's probably a good idea in<br />
development to have the web server (above) running in one terminal and<br />
celeryd in another window.<br />
<br />
Run:<br />
<br />
{{Cmd|<nowiki>CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery ./bin/celeryd</nowiki>}}<br />
<br />
<br />
== Running the test suite ==<br />
<br />
Run:<br />
<br />
{{Cmd|./runtests.sh}}<br />
<br />
<br />
== Running a shell ==<br />
<br />
If you want a shell with your database pre-setup and an instantiated<br />
application ready and at your fingertips....<br />
<br />
Run:<br />
<br />
{{Cmd|./bin/gmg shell}}<br />
<br />
<br />
== Troubleshooting ==<br />
<br />
== Wiping your user data ==<br />
<br />
You can completely wipe all data from the instance by doing:<br />
<br />
{{Cmd|rm -rf mediagoblin.db kombu.db celery.db user_dev; ./bin/gmg dbupdate}}<br />
<br />
'''Note:'''<br />
<br />
Unless you're doing development and working on and testing creating<br />
a new instance, you will probably never have to do this.<br />
<br />
== Quickstart for Django programmers ==<br />
<br />
We're not using Django, but the codebase is very Django-like in its<br />
structure.<br />
<br />
* <tt>routing.py</tt> is like <tt>urls.py</tt> in Django<br />
* <tt>models.py</tt> has SQLAlchemy ORM definitions<br />
* <tt>views.py</tt> is where the views go<br />
<br />
We're using SQLAlchemy, which is semi-similar to the Django ORM, but<br />
not really because you can get a lot more fine-grained. The<br />
[http://docs.sqlalchemy.org/en/latest/orm/tutorial.html SQLAlchemy ORM tutorial] is a great place to start.<br />
<br />
<br />
'''YouCanHelp'''<br />
<br />
If there are other things that you think would help orient someone<br />
new to GNU MediaGoblin but coming from Django, let us know!<br />
<br />
== Showing off your work with PageKite ==<br />
<br />
If you're doing development with MediaGoblin, it's sometimes helpful to show off your work to gather feedback from other contributors. A number of the MediaGoblin developers use something called [http://pagekite.net PageKite], which is a fellow free software web service which makes temporarily showing off work on your machine easy. There's a [http://pagekite.net/wiki/Howto/UsePageKiteWithMediaGoblin/ tutorial on how to use PageKite and MediaGoblin together] available on the PageKite wiki.<br />
<br />
If you are doing a lot of MediaGoblin development, the PageKite people have graciously offered us a good amount of bandwidth at no cost in an effort to help out fellow free software projects. If you've been making significant contributions, PM Chris Webber on freenode (who is paroneayea there) and ask if you can be added to our group plan.<br />
<br />
== Bite-sized bugs to start with ==<br />
<br />
Now you should visit our latest list of [http://issues.mediagoblin.org/query?status=!closed&keywords=~bitesized bite-sized issues] because squishing bugs is messy fun. If you're interested in other things to work on, or need help getting started on a bug, let us know on [http://mediagoblin.org/join/ the mailing list] or on the [http://mediagoblin.org/join/ IRC channel].</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Deployment&diff=1841Deployment2016-06-08T22:31:37Z<p>Ayleph: Fixing script name per https://issues.mediagoblin.org/ticket/5459</p>
<hr />
<div>This page could use a lot of work. For now, a few smaller deployment tips!<br />
<br />
See also: http://docs.mediagoblin.org/deploying.html (some of which may belong here)<br />
<br />
= uwsgi =<br />
<br />
Possibly a cleaner way to do nginx configuration than the official nginx + fastcgi suggestions!<br />
<br />
http://nathanielca.se/fossrit/deploying-mediagoblin-1-fastcgi-vs-uwsgi.html<br />
<br />
= uwsgi with configs =<br />
<br />
Below there are 3 configs: for nginx, for uwsgi version 1.2.3-debian and for supervisord, used to run celery.<br />
<br />
In future, when newer versions of uwsgi appear in debian, supervisor can be removed.<br />
<br />
All instructions below are for Debian 7. They should also work with rpm-based systems, but with other paths.<br />
<br />
<pre>apt-get install uwsgi uwsgi-plugin-python nginx-full supervisor;</pre><br />
<br />
/etc/nginx/sites-available/mediagoblin:<br />
<pre><br />
server {<br />
server_name <domain>;<br />
<br />
access_log /var/log/nginx/mg.access.log;<br />
error_log /var/log/nginx/mg.error.log error;<br />
<br />
#include global/common.conf;<br />
<br />
client_max_body_size 100m;<br />
add_header X-Content-Type-Options nosniff;<br />
<br />
root /path/to/mediagoblin//user_dev/;<br />
<br />
location /mgoblin_static/ {<br />
alias /path/to/mediagoblin/mediagoblin/static/;<br />
}<br />
location /mgoblin_media/ {<br />
alias /path/to/mediagoblin/user_dev/media/public/;<br />
}<br />
location /theme_static/ {<br />
}<br />
location /plugin_static/ {<br />
}<br />
location / {<br />
uwsgi_pass unix:///tmp/mg.uwsgi.sock;<br />
uwsgi_param SCRIPT_NAME "";<br />
include uwsgi_params;<br />
}<br />
}<br />
</pre><br />
<br />
/etc/uwsgi/apps-available/mg.yaml:<br />
<pre><br />
uwsgi:<br />
uid: mediagoblin<br />
gid: mediagoblin<br />
socket: /tmp/mg.uwsgi.sock<br />
chown-socket: www-data:www-data<br />
plugins: python<br />
home: /path/to/mediagoblin/<br />
chdir: /path/to/mediagoblin/<br />
ini-paste: /path/to/mediagoblin/paste_local.ini<br />
</pre><br />
<br />
/etc/supervisor/conf.d/mediagoblin.conf:<br />
<pre><br />
[program:celery]<br />
command=/path/to/mediagoblin/bin/celery worker -l debug<br />
<br />
; Set PYTHONPATH to the directory containing celeryconfig.py<br />
environment=PYTHONPATH="/path/to/mediagoblin",MEDIAGOBLIN_CONFIG="/path/to/mediagoblin/mediagoblin_local.ini",CELERY_CONFIG_MODULE="mediagoblin.init.celery.from_celery"<br />
<br />
directory=/path/to/mediagoblin/<br />
user=mediagoblin<br />
numprocs=1<br />
; uncomment below to enable logs saving<br />
;stdout_logfile=/some/logs/path/celeryd_stdout.log<br />
;stderr_logfile=/some/logs/path/celeryd_stderr.log<br />
autostart=true<br />
autorestart=false<br />
startsecs=10<br />
<br />
; Need to wait for currently executing tasks to finish at shutdown.<br />
; Increase this if you have very long running tasks.<br />
stopwaitsecs = 600<br />
</pre><br />
<br />
After setting all configs do:<br />
<pre><br />
ln -s /etc/nginx/sites-available/mediagoblin /etc/nginx/sites-enabled/<br />
ln -s /etc/uwsgi/apps-available/mg.yaml /etc/uwsgi/apps-enabled/<br />
</pre><br />
<br />
And don't forget to restart all your daemons:<br />
<pre><br />
service uwsgi restart;<br />
service nginx restart;<br />
service supervisor stop; sleep 1; service supervisor start # sleep 1 might be needed here because supervisor really stops not at once<br />
</pre><br />
<br />
= FCGI script =<br />
<br />
This works great with the apache FCGID config example in the next section :) in which case you should name it "mg.fcgi".<br />
<br />
Before use, make sure you replace '/path/to/mediagoblin/bin/python' with a real path on your server, e.g. '/srv/www/myhomepage.com/mediagoblin/bin/python'. Also replace '/path/to/mediagoblin/paste.ini'.<br />
<br />
If you encounter problems, try executing executing the script manually, e.g. <pre>./mg.fcgi</pre><br />
<br />
Script:<br />
<br />
<pre>#!/path/to/mediagoblin/bin/python<br />
<br />
# Written in 2011 by Christopher Allan Webber<br />
#<br />
# To the extent possible under law, the author(s) have dedicated all<br />
# copyright and related and neighboring rights to this software to the<br />
# public domain worldwide. This software is distributed without any<br />
# warranty.<br />
# <br />
# You should have received a copy of the CC0 Public Domain Dedication along<br />
# with this software. If not, see<br />
# <http://creativecommons.org/publicdomain/zero/1.0/>.<br />
<br />
from paste.deploy import loadapp<br />
from flup.server.fcgi import WSGIServer<br />
<br />
CONFIG_PATH = '/path/to/mediagoblin/paste.ini'<br />
<br />
## Uncomment this to run celery in "always eager" mode... ie, you don't have<br />
## to run a separate process, but submissions wait till processing finishes<br />
# import os<br />
# os.environ['CELERY_ALWAYS_EAGER'] = 'true'<br />
<br />
def launch_fcgi():<br />
ccengine_wsgi_app = loadapp('config:' + CONFIG_PATH)<br />
WSGIServer(ccengine_wsgi_app).run()<br />
<br />
<br />
if __name__ == '__main__':<br />
launch_fcgi()</pre><br />
<br />
= Apache 2 Config With fcgid =<br />
<br />
Note that the libapache2-mod-fcgi in Debian is in the main section. libapache2-mod-fcgid can be used, but requires a slightly different configuration. For yum-based distributions, you may need to install mod_fcgid. <br />
<br />
<VirtualHost *:80><br />
Options +ExecCGI<br />
<br />
# Accept up to 16MB requests<br />
FcgidMaxRequestLen 16777216<br />
<br />
ServerName mediagoblin.example.org<br />
<br />
Alias /mgoblin_static/ /path/to/mediagoblin/mediagoblin/static/<br />
Alias /mgoblin_media/ /path/to/mediagoblin/user_dev/media/public/<br />
<br />
ScriptAlias / /path/to/mediagoblin/mg.fcgi/<br />
</VirtualHost><br />
<br />
= Apache 2 Config With mod_wsgi =<br />
<br />
Apache can manage the MediaGoblin application itself with mod_wsgi. It requires slightly more configuration on the Apache side, but cuts out the FastCGI middleware. See their [http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines configuration guidelines] for advanced configuration.<br />
<br />
<VirtualHost *:80><br />
ServerName mediagoblin.example.org<br />
<br />
Alias /mgoblin_static/ /path/to/mediagoblin/mediagoblin/static/<br />
Alias /mgoblin_media/ /path/to/mediagoblin/user_dev/media/public/<br />
<br />
WSGIScriptAlias / /path/to/mediagoblin/wsgi.py<br />
# Set user and group to whatever user you used to install mediagoblin (if you used a system account, <br />
# it may have the group 'nogroup' assigned, in that case you can remove the group parameter)<br />
# Remember to change python-path too!<br />
# Replace the python version in the 'python-path' below with the correct one (eg 2.x -> 2.7)<br />
WSGIPassAuthorization On<br />
WSGIDaemonProcess gmg user=mediagoblin group=mediagoblin processes=2 threads=10 \<br />
umask=0007 inactivity-timeout=900 maximum-requests=1000 \<br />
python-path=/path/to/mediagoblin/:/path/to/mediagoblin/lib/python-2.x/site-packages/<br />
WSGIProcessGroup gmg<br />
WSGIApplicationGroup %{GLOBAL}<br />
<br />
<Directory "/path/to/mediagoblin/mediagoblin/static/"><br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<Directory "/path/to/mediagoblin/user_dev/media/public"><br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
</VirtualHost><br />
<br />
You'll also need to copy this into /path/to/mediagoblin/wsgi.py:<br />
<br />
#!/path/to/mediagoblin/bin/python<br />
<br />
# Written in 2011 by Christopher Allan Webber<br />
#<br />
# To the extent possible under law, the author(s) have dedicated all<br />
# copyright and related and neighboring rights to this software to the<br />
# public domain worldwide. This software is distributed without any<br />
# warranty.<br />
# <br />
# You should have received a copy of the CC0 Public Domain Dedication along<br />
# with this software. If not, see<br />
# <http://creativecommons.org/publicdomain/zero/1.0/>.<br />
<br />
<br />
import site<br />
# Replace the python version with the correct one in the line below (eg 2.x -> 2.7)<br />
site.addsitedir('/path/to/mediagoblin/lib/python-2.x/site-packages')<br />
<br />
<br />
from paste.deploy import loadapp<br />
<br />
CONFIG_PATH = '/path/to/mediagoblin/paste.ini'<br />
<br />
## Uncomment this to run celery in "always eager" mode... ie, you don't have<br />
## to run a separate process, but submissions wait till processing finishes<br />
#import os<br />
#os.environ['CELERY_ALWAYS_EAGER'] = 'true'<br />
<br />
application = loadapp('config:' + CONFIG_PATH)<br />
<br />
If you're getting strange errors when trying to upload something, your WSGI setup is probably not starting Celery. You should start it yourself, perhaps with your preferred init system or service supervisor.<br />
<br />
= Apache Config Example =<br />
This configuration example uses mod_fastcgi.<br />
<br />
To install and enable mod_fastcgi on a Debian/Ubuntu based system:<br />
<pre># apt-get install libapache2-mod-suexec libapache2-mod-fastcgi<br />
# a2enmod suexec<br />
# a2enmod fastcgi</pre><br />
<br />
Sample configuration:<br />
<pre><br />
<VirtualHost *:80><br />
ServerName mediagoblin.yourdomain.tld<br />
ServerAdmin webmaster@yourdoimain.tld<br />
DocumentRoot /var/www/<br />
# Custom log files<br />
CustomLog /var/log/apache2/mediagobling_access.log combined<br />
ErrorLog /var/log/apache2/mediagoblin_error.log<br />
<br />
# Serve static and media files via alias<br />
Alias /mgoblin_static/ /path/to/mediagoblin/mediagoblin/static/<br />
Alias /mgoblin_media/ /path/to/mediagoblin/user_dev/media/public/<br />
<br />
# Rewrite all URLs to fcgi, except for static and media urls<br />
RewriteEngine On<br />
RewriteRule ^(mgoblin_static|mgoblin_media)($|/) - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteRule ^/(.*)$ /mg.fcgi/$1 [QSA,L]<br />
<br />
# Allow access to static and media directories<br />
<Directory /path/to/mediagoblin/mediagoblin/static><br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<Directory /path/to/mediagoblin/mediagoblin/user_dev/media/public><br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<br />
# Connect to fcgi server<br />
FastCGIExternalServer /var/www/mg.fcgi -host 127.0.0.1:26543<br />
</VirtualHost><br />
</pre><br />
Then, you need to make sure mediagoblin is running in fcgi mode:<br />
<pre>cd /path/to/mediagoblin<br />
./lazyserver.sh --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543</pre><br />
<br />
Note: there may be several ways to improve this configuration<br />
<br />
If it is too slow and you use the deflate module, you could try to use the following option : SetOutputFilter INFLATE<br />
<br />
= Lighttpd =<br />
<br />
This configuration example uses mod_fastcgi.<br />
Make a symbolic link from <pre>/etc/lighttpd/conf-available/10-fastcgi.conf</pre> to <pre>/etc/lighttpd/conf-enabled/10-fastcgi.conf</pre><br />
<br />
<pre><br />
ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/10-fastcgi.conf<br />
</pre><br />
<br />
then edit your /etc/lighttpd/conf-enabled/10-fastcgi.conf file modifying it as below to serve mediagoblin on the /tube/ path of your webserver.<br />
<br />
<pre><br />
## FastCGI programs have the same functionality as CGI programs,<br />
## but are considerably faster through lower interpreter startup<br />
## time and socketed communication<br />
##<br />
## Documentation: /usr/share/doc/lighttpd-doc/fastcgi.txt.gz<br />
## http://www.lighttpd.net/documentation/fastcgi.html<br />
<br />
server.modules += ( "mod_fastcgi" )<br />
<br />
## Start an FastCGI server for mediagoblin (lazyserver.sh or other deployments scripts should be up and running)<br />
fastcgi.server = (<br />
# url at which the app should be accessible on the server<br />
"/tube" =><br />
# mnemonical name of the backend<br />
( "mg-local" => (<br />
"host" => "127.0.0.1",<br />
"port" => 6543,<br />
"docroot" => "/path/to/mediagoblin-git-folder/mediagoblin",<br />
"check-local" => "disable"<br />
)<br />
)<br />
<br />
)<br />
</pre><br />
<br />
Then open your /etc/lighttpd/lighttpd.conf and add the configuration to serve directly the static/public folders<br />
<br />
<pre><br />
alias.url += (<br />
"/mgoblin_static/" => "/path/to/mediagoblin-git-folder/mediagoblin/static/",<br />
"/mgoblin_media/" => "/path/to/mediagoblin-git-folder/user_dev/media/public/",<br />
"/theme_static/" => "/path/to/mediagoblin-git-folder/user_dev/theme_static/",<br />
"/plugin_static/" => "/path/to/mediagoblin-git-folder/user_dev/plugin_static/"<br />
)<br />
<br />
</pre><br />
<br />
Done!<br />
<br />
= OpenShift =<br />
<br />
Thers's a blogpost saying how to [http://www.sud0.com/gnu-media-goblin-on-openshift.html install mediagoblin on openshift].<br />
<br />
= Juju =<br />
<br />
There is a juju [https://juju.ubuntu.com/Charms charm] available for deploying mediagoblin into EC2 or on your local box. [https://juju.ubuntu.com/ juju] is available in Ubuntu 11.10 and later, though it is recommended that you pull it from [https://launchpad.net/~juju/+archive/pkgs the juju PPA], which includes backported packages going back to Ubuntu 11.10. To use the juju charm, install juju and configure either the [https://juju.ubuntu.com/docs/provider-configuration-local.html local provider] or one of the cloud API providers, currently the [https://juju.ubuntu.com/docs/provider-configuration-ec2.html EC2 provider] is the best supported and works not only with Amazon Web Services but also OpenStack clouds. There is also a newer native OpenStack API provider which is known to support HP Cloud.<br />
<pre><br />
# if you have not bootstrapped<br />
juju bootstrap<br />
mkdir ~/charms<br />
bzr init-repo ~/charms/precise<br />
bzr branch lp:~clint-fewbar/charms/precise/mediagoblin/trunk ~/charms/precise/mediagoblin<br />
juju deploy --repository ~/charms local:mediagoblin<br />
juju expose mediagoblin<br />
</pre><br />
<br />
Currently the charm is volatile, deploying from trunk, and deploys a single-server version of MediaGoblin only. It will eventually relate to the existing juju charms for other supported data stores to allow one to scale out their MediaGoblin instance.<br />
<br />
= Init scripts =<br />
<br />
== Debian init scripts ==<br />
<br />
Joar has some scripts for running celery and mediagoblin separately that are designed for Debian.<br />
<br />
https://github.com/joar/mediagoblin-init-scripts<br />
<br />
== Arch Linux init scripts ==<br />
<br />
[http://whird.jpope.org/2012/04/14/mediagoblin-archlinux-rcd-scripts Jeremy Pope has written a nice blogpost] on how to add init scripts to deploy MediaGoblin with both the python paste http server and the celery deployments separated.<br />
<br />
If you want a simpler setup and don't want to deploy celery separately, consider either turning CELERY_ALWAYS_EAGER to true in the paste init script described above, or check out [http://chimo.chromic.org/2012/03/01/mediagoblin-init-script-on-archlinux/ Chimo's guide].<br />
<br />
<br />
<br />
== Generic, simple init script ==<br />
<br />
This is a super stupidly simple init script that was used for mediagoblin.com... note that this has Celery running in always eager mode.<br />
<br />
You will need to adjust the paths appropriately. This could probably be better written!<br />
<br />
#! /bin/sh<br />
<br />
## Stupidly simple mediagoblin init script.<br />
# <br />
# Written in 2012 by Christopher Allan Webber<br />
#<br />
# To the extent possible under law, the author(s) have dedicated all<br />
# copyright and related and neighboring rights to this software to the<br />
# public domain worldwide. This software is distributed without any<br />
# warranty.<br />
# <br />
# You should have received a copy of the CC0 Public Domain Dedication along<br />
# with this software. If not, see<br />
# <http://creativecommons.org/publicdomain/zero/1.0/>.<br />
<br />
PASTER=/srv/mediagoblin.com/bin/paster<br />
PASTE_CONFIG=/srv/mediagoblin.com/paste.ini<br />
OPTIONS="--pid-file=/tmp/mediagoblin.pid \<br />
--log-file=/srv/mediagoblin.com/paster.log \<br />
--server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543"<br />
<br />
CELERY_ALWAYS_EAGER=true su -pc "$PASTER serve $PASTE_CONFIG $1 $OPTIONS" webadmin<br />
<br />
== systemd init scripts ==<br />
<br />
The following systemd scripts provide separate Paste and Celery instances. Replace <code>/path/to/mediagoblin</code> to match your install path. The directories <code>/var/log/mediagoblin</code> and <code>/var/run/mediagoblin</code> are not created by default; you may create them yourself or change the location of the pid and log files. You may omit the log file if you choose. The init scripts provided below assume customized versions of mediagoblin.ini and paste.ini have been created as mediagoblin_local.ini and paste_local.ini, respectively; you should change those lines to point back to the original mediagoblin.ini or paste.ini files if you haven't made customizations.<br />
<br />
If you prefer not to run separate Celery, uncomment <code>Environment=CELERY_ALWAYS_EAGER=true</code> and comment <code>Environment=CELERY_ALWAYS_EAGER=false</code>. You won't need the file <code>/etc/systemd/system/gmg-celery.service</code>.<br />
<br />
<code>/etc/systemd/system/gmg.service</code>:<br />
<br />
[Unit]<br />
Description=Mediagoblin<br />
<br />
[Service]<br />
Type=forking<br />
User=mediagoblin<br />
Group=mediagoblin<br />
#Environment=CELERY_ALWAYS_EAGER=true<br />
Environment=CELERY_ALWAYS_EAGER=false<br />
WorkingDirectory=/path/to/mediagoblin<br />
ExecStart=/path/to/mediagoblin/bin/paster serve \<br />
/path/to/mediagoblin/paste_local.ini \<br />
--pid-file=/var/run/mediagoblin/paster.pid \<br />
--log-file=/var/log/mediagoblin/paster.log \<br />
--daemon \<br />
--server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543<br />
ExecStop=/path/to/mediagoblin/bin/paster serve \<br />
--pid-file=/var/run/mediagoblin/paster.pid \<br />
/path/to/mediagoblin/paste_local.ini stop<br />
PIDFile=/var/run/mediagoblin/paster.pid<br />
<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
<code>/etc/systemd/system/gmg-celeryd.service</code>:<br />
<br />
[Unit]<br />
Description=Mediagoblin Celeryd<br />
<br />
[Service]<br />
User=mediagoblin<br />
Group=mediagoblin<br />
Type=simple<br />
WorkingDirectory=/path/to/mediagoblin<br />
Environment="MEDIAGOBLIN_CONFIG=/path/to/mediagoblin/mediagoblin_local.ini" \<br />
CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery<br />
ExecStart=/path/to/mediagoblin/bin/celeryd<br />
PIDFile=/var/run/mediagoblin/mediagoblin-celeryd.pid<br />
<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
<code>/usr/lib/tmpfiles.d/gmg.conf</code>:<br />
d /var/run/mediagoblin 0755 mediagoblin mediagoblin<br />
<br />
Invoke the Paste or Celery processes using systemctl. Eg,<br />
<br />
$ sudo systemctl start|stop|restart gmg.service<br />
<br />
$ sudo systemctl start|stop|restart gmg-celeryd.service<br />
<br />
= Running on Dreamhost.com =<br />
<br />
===Set up your python virtualenv===<br />
<br />
dreamhost.com servers come with python 2.4 and 2.5 installed which is too old for mediagoblin. This means you need to compile and install a newer python (don't worry this is really not difficult on dreamhost servers). In order to be able to install python packages for a local user without touching system files, we need to setup a python ''virtualenv''. Fortunately, this is not too tricky either. If your server has python 2.6 or 2.7 installed already, you can skip the [[#Install a local python|python installation stuff]] and you'll only need to [[#Setup virtualenv to install local python packages|install virtualenv]].<br />
<br />
====Install a local python====<br />
# Download the latest python: http://python.org/ftp/python/XXX/Python-XXX.tar.bz2<br />
# Unpack with <pre>tar xvjf Python-XXX.tar.bz2</pre><br />
# ''cd'' into the directory and compile and install python locally:<br />
<blockquote><pre>./configure --prefix=$HOME/local<br />
make<br />
make install</pre></blockquote><br />
:This will install python (I used 2.7.3) into /home/<USERNAME>/local/bin/python. You might get warnings about some modules not being able to compile. :It was tcl/tk and bzip2 mainly, but things still worked out overall.<br />
:<br />
:You should now be able to invoke <tt>~/local/bin/python</tt> and fall into a shell of your new python (exit with ctrl-d). Congrats, you have now a new python 2.7 that you can use. However, you will need to be able to install additional packages as a user and this is what virtualenv allows.<br />
<br />
====Setup virtualenv to install local python packages====<br />
# Download the latest virtualenv: http://pypi.python.org/packages/source/v/virtualenv/XXX<br />
# Install the virtualenv: <blockquote><pre>~/local/bin/python ~/virtualenv-1.8/virtualenv.py $HOME/local/virtenv</pre></blockquote><br />
:: You will now have: ~/local/virtenv/bin/python<br />
# In ~/.bash_profile add: <blockquote><pre>PATH=~/local/virtenv/bin:~/local/bin:${PATH}</pre></blockquote><br />
:: so that your local python will be preferred.<br />
:: Log out, log in again and test python" to see which version will be invoked. It should be the new python. Check "which easy_install" to see if the one in local/virtenv would be executed.<br />
:: <br />
:: You have now 1) a local ''python'' installation that you can use, and 2) ''easy_install'' will also work with your local user installation. From now on you can e.g. locally install the nose testing framework (''easy_install nose'') and use it (''python -c "import nose"'').<br />
<br />
===Install mediagoblin as a site package===<br />
<br />
# Check out mediagoblin from git to e.g. ~/mediagoblin<br />
# Install MediaGoblin and all dependencies for MediaGoblin with easy_install.<br />
:* In the mediagoblin directory issue:<br />
:<blockquote><pre>python setup.py</pre></blockquote><br />
:* You will also need to: easy_install lxml<br />
:* Python-image was trickier to install: <pre>easy_install --find-links http://www.pythonware.com/products/pil/ Imaging</pre><br />
::Test by leaving the mediagoblin directory and see if you can import it: <pre>python -c "import mediagoblin"</pre> looking for error messages.<br />
<br />
===Set up an WSGI environment on Dreamhost===<br />
<br />
# Enable the mod_passenger setting for ruby/python in the domains web panel<br />
# ''cd'' into the domain directory (e.g. ~/media.sspaeth.de for me)<br />
# Copy mediagoblin.ini and paste.ini from the ~/mediagoblin directory here<br />
# Create passenger_wsgi.py in your domain directory (e.g. ~/media.sspaeth.de for me):<br />
<blockquote><pre>import sys, os<br />
INTERP = "/home/<username>/local/virtenv/bin/python"<br />
#INTERP is present twice so that the new python interpreter knows the actual executable path<br />
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)<br />
<br />
from paste.deploy import loadapp<br />
application = loadapp('config:/home/mediagoblin/media.sspaeth.de/paste.ini')<br />
<br />
#If in case of errors, all you get are mysterious error 500, you can set debug=true in paste.ini to see stack traces<br />
# Otherwise, add this:<br />
#from paste.exceptions.errormiddleware import ErrorMiddleware<br />
#application = ErrorMiddleware(application, debug=True)</pre></blockquote><br />
# Set up the database by issueing: <pre>gmg dbupdate</pre><br />
# (optional but recommended) Serve the static files directly from the webserver.<br />
:In paste.ini in this section: [composite:routing] comment out the static files:<br />
#/mgoblin_static/ = mediagoblin_static<br />
#/theme_static/ = theme_static<br />
:and symlink the mediagobin/mediagoblin/static directoy to public/mgoblin_static<br />
: and mediagoblin/mediagoblin/themes to public/theme_static<br />
:<br />
:so it is displayed directly. This step might be different depending on your web server configuration. There is no reason that static<br />
:files need to go through all the python indirection when they can be served directly by nginx/apache/...<br />
:<br />
:In case you want to delete your git checkout after the installation (you don't need it, since you installed the mediagoblin package to ~/local/virtenv/lib/python2.7/mediagoblin... you should do the symlinking from there.<br />
===Open Issues===<br />
Please fill in the blanks if you find them out:<br />
* How to enable logging to a file or standard html logs? Console output just disappears.<br />
* How to set up things not using sqlite. What's wrong with mySQL?<br />
<br />
===Troubleshooting===<br />
* First of all: invoke <pre>python passenger_wsgi.py</pre> directly from the shell. This will tell you if there are import errors etc. If this command exits without any output on the console, you have already achieved a lot.<br />
* In ''paste.ini'' set debug=true. This will show you python backtraces directly in the web page<br />
* You will need to configure an smtp user/passwd/server in mediagoblin.ini, so you actually get the account creation token mailed out. Hint, the relevant settings are: <blockquote><pre>email_debug_mode = false<br />
email_sender_address = postmaster@sspaeth.de<br />
email_smtp_host = SMTP.DOMAIN.TLD<br />
email_smtp_user = USERNAME<br />
email_smtp_pass = WEIRDPASSWORD</pre></blockquote><br />
* In case you can upload media, but it does not appear. You don't have the celery server running. Add <pre>CELERY_ALWAYS_EAGER = true</pre> to the ''[celery]'' section in mediagoblin.ini<br />
<br />
=Miscellaneous Hacks=<br />
==Force translation==<br />
There might some conditions under which you would prefer that MediaGoblin always return the same translation. If you are deploying with nginx and fastcgi, you can force MediaGoblin to return a specific translation regardless of browser preferences by passing a specific HTTP_ACCEPT_LANGUAGE fastcgi parameter in your location block. Example last line in location block:<br />
<nowiki><br />
fastcgi_param HTTP_ACCEPT_LANGUAGE es; #force spanish translation<br />
</nowiki><br />
<br />
==Create an admin user==<br />
<br />
To create an admin user, first create the user you need either via the website or the command<br />
<pre><br />
./bin/gmg adduser<br />
</pre><br />
<br />
Then to turn it into an admin account use<br />
<br />
<pre><br />
./bin/gmg makeadmin your_username<br />
</pre></div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Available_Plugins&diff=1760Available Plugins2016-01-21T05:39:55Z<p>Ayleph: Adding WIP mediagoblin-embedcode plugin</p>
<hr />
<div>= A list of Available Plugins for MediaGoblin =<br />
<br />
==Core plugins ==<br />
<br />
The core plugins are available right away with your mediaboblin instance, they are not necessarily activated by default, tho. Please check the [http://docs.mediagoblin.org/siteadmin/plugins.html plugin documentation] to learn how to activate them.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Options !! Usage !! Doc !! Author<br />
|-<br />
| api || || || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| basic_auth || || || || <br />
|-<br />
| flatpagesfile || || It allows you to add pages to your MediaGoblin instance which are not generated from user content || [http://docs.mediagoblin.org/plugindocs/flatpagesfile.html doc] ||<br />
|-<br />
| geolocation || || || || <br />
|-<br />
| httpapiauth|| || Enables [http://en.wikipedia.org/wiki/Basic_access_authentication HTTP basic authentication] for the API || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| ldap || || || || <br />
|-<br />
| oauth || || The [http://en.wikipedia.org/wiki/Oauth oauth] plugin enables third party web applications to authenticate as one or more GNU MediaGoblin users ||[http://docs.mediagoblin.org/plugindocs/oauth.html doc] || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| openid || || || || <br />
|-<br />
| persona || || || || <br />
|-<br />
| piwigo || || Provides a Piwigo-compatible API || || <br />
|-<br />
| raven || || Support [http://www.getsentry.com/ Sentry] via Raven || [http://docs.mediagoblin.org/plugindocs/raven.html doc] ||<br />
|-<br />
| sampleplugin || || Dummy plugin for example purpose || ||<br />
|-<br />
| trim_whitespace|| || This plugin inserts a Middleware that filters out whitespace from the returned HTML in the Response() objects.||[http://docs.mediagoblin.org/plugindocs/trim_whitespace.html doc] ||<br />
|}<br />
<br />
== Third party plugins==<br />
<br />
Those plugins have been made by various contributors to extend mediagoblin's possibilities<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! What !! Options !! Doc !! How to get it ? !! Author<br />
|-<br />
| mediagoblin-licenses || Extend or replace the default license list ||<br />
* Append to existing list (true/false)<br />
* Licence list<br />
|| || pip install mediagoblin-licenses ||<br />
|-<br />
|[https://github.com/Velmont/gmg_localfiles gmg_localfiles] || Import files from your local filesystem without duplicating them. || || [https://github.com/Velmont/gmg_localfiles/blob/master/README.md doc] || git clone https://github.com/Velmont/gmg_localfiles.git || odinho/Velmont<br />
|-<br />
|[https://github.com/commonsmachinery/mediagoblin_svg mediagoblin_svg] || SVG image support || Display previews and thumbnails as SVG || || Check README ||<br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-hidden_original mediagoblin-hidden_original] || Hidden original || Give original upload a secret url, only publish downsized version || || pip install mediagoblin-hidden_original || [[User:Unhammer|Unhammer]] <br />
|-<br />
|[https://github.com/ayleph/mediagoblin-recaptcha mediagoblin-recaptcha] || [https://www.google.com/recaptcha Google reCAPTCHA] support || Enable reCAPTCHA on registration form over http/https || [https://github.com/ayleph/mediagoblin-recaptcha/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-recaptcha.git || [[User:Ayleph|ayleph]]<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-piwik mediagoblin-piwik] || [https://piwik.org Piwik] support || || [https://github.com/ayleph/mediagoblin-piwik/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-piwik.git || [[User:Ayleph|ayleph]]<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-basicsearch mediagoblin-basicsearch] || Search for media || || [https://github.com/ayleph/mediagoblin-basicsearch/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-basicsearch.git || [[User:Ayleph|ayleph]]<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
You're working on a plugin but it's not ready ? Please let us know, cause if someone wants to make the same feature, this person will help you rather than doing the same thing from scratch ! <br />
<br />
{| class="wikitable"<br />
|-<br />
! Temporary name !! Planned features !! Repo or a place to see the WIP !! Author !! Status<br />
|-<br />
| Raw file support for GMG ||<br />
* Support NEF, '''done'''<br />
* Support CR2<br />
* Investigate support for other formats (if they include full-quality JPEG inside the file)<br />
|| https://github.com/Velmont/mediagoblin/tree/raw_image_mediatype || odinho/Velmont ||<br />
|-<br />
| [https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/trees/WIP/tag_cloud_plugin Tag Cloud] || Add a tag cloud feature for your templates || git clone git://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin.git HEAD:WIP/tag_cloud_plugin || Spaetz || [http://www.media.sspaeth.de/u/spaetz/ It works] but still needs core modifications.<br />
|-<br />
| Image property export for use externally ||<br />
* Basically, this would allow other sites (WordPress, etc.) to use their own plugins to easily grab image properties (description, name, url, alt text, license) for automatic insertion.<br />
* Include additional image properties (eg. alt text, short description) for scraping.<br />
|| [none] || exhipigeonist || Absolutely no work and very little planning. Currently no more than an idea I'd like to work on later if I get time, in conjunction with a WordPress plugin that would utilise it, of course.<br />
|- <br />
| HTML5-Multiupload || Adds a the html5 multifile input to the submit form || https://github.com/VenKamikaze/mediagoblin-html5-multi-upload<br />
|| kamikaze-m || Working on 0.4.1, but needs proper review. Test and report bugs, it might not work, but it's absolutly harmless to your MG instance <br />
|-<br />
| [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP] || Allows uploading of XCF images and GIMP resources (palettes, patterns, curves, gradients, brushes, dynamics, and tool presets). Thumbnails and previews are generated by an instance of GIMP running headlessly as a daemon. || [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP docs and code repository] [http://barn.kerosenecow.net/ Instance featuring GIMP media]|| saulgoode || Nearing completion. Still needs to be packaged for easier deployment.<br />
|-<br />
|[https://github.com/commonsmachinery/mg-rdfa mg-rdfa] || Embedding image metadata as RDFa || https://github.com/commonsmachinery/mg-rdfa || artfwo || Experimental, only SVG images are supported at the moment. <br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-purchase mediagoblin-purchase] || Purchase button || https://gitorious.org/mediagoblin-stock/mediagoblin-purchase || [[User:Unhammer|Unhammer]] || Just started <br />
|-<br />
|[https://github.com/sebastiansam55/uploadurl uploadurl] || Upload Images via URL instead of file || https://github.com/sebastiansam55/uploadurl || sebastiansam55 || Works when using browser that is logged in. Needs to use oauth or similar<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-embedcode mediagoblin-embedcode] || Display video embed code on media page || https://github.com/ayleph/mediagoblin-embedcode || [[User:Ayleph|ayleph]] || Initial proof of concept<br />
|}</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=CommunityGovernance&diff=1728CommunityGovernance2015-08-24T16:56:19Z<p>Ayleph: who admins the issue tracker box?</p>
<hr />
<div><br />
MediaGoblin is a community project and we everybody try to help each other. Chris Webber is our lead developer, but the project should be able to self govern so he can take a break if he needs it or when he or other contributors take deserved holidays :) <br />
<br />
In general, you can ask anything in the mailing list or the IRC channel and hopefully somebody will answer soon. Topics are discussed in the mailing list, IRC channel or monthly meetings (in the IRC channel).<br />
<br />
In this page we list several tasks or areas along with the names or nicks of MediaGoblin community members that may help on them (for example, because they have permissions to perform certain operations). Please be kind when asking for help, most of us are volunteering for MediaGoblin in our free time, so answers or problems resolution can take a while.<br />
<br />
Feel free to edit this page to list more tasks or sign the ones you self-assign.<br />
<br />
<br />
More information about this in this mailing list thread: http://lists.mediagoblin.org/pipermail/devel/XXXXX<br />
<br />
== MediaGoblin codebase ==<br />
<br />
* People with permissions to commit/merge and handle the main codebase<br />
<br />
* General stuff: breton, Elrond (via PM on IRC)<br />
* Python 3 support: berkerpeksag (berker on IRC), breton<br />
* Audio/Video: breton<br />
* Documentation: jcampbell / j1mc<br />
<br />
== MediaGoblin website ==<br />
<br />
* People with permissions to handle website outages<br />
<br />
* Publish pages (for example new releases)<br />
<br />
== MediaGoblin wiki ==<br />
<br />
* Some Wiki administration: Elrond (via PM on IRC)<br />
<br />
== MediaGoblin issue tracker ==<br />
<br />
* Issue tracker server administration: ???<br />
* Help triaging bugs: R13ose<br />
* People with permissions to create accounts in trac: Elrond<br />
* People with permissions to delete users/issues/comments in trac: Elrond<br />
* Volunteers for spam cleaning: LArjona, ayleph<br />
* Talk to trac people about spam: R13ose<br />
* Would like more access to be able to help/fix things:<br />
<br />
== MediaGoblin translation platform ==<br />
<br />
* If there is need of manual import/export files between Pootle and the MediaGoblin codebase, who can help on that<br />
* LArjona (Spanish translator) can guide new translators, reproduce problems in the translation platform, test changes, and help with Pootle quality checks. Available in the mailing list and IRC channel.<br />
* breton knows how and why translations are downloaded/compiled<br />
<br />
== MediaGoblin IRC channel and mailing list ==<br />
<br />
* Change IRC topic, channel operators<br />
* Running the monthly meetings: breton<br />
* Administrate the mailing list: larjona</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=CommunityGovernance&diff=1719CommunityGovernance2015-06-25T17:52:12Z<p>Ayleph: /* MediaGoblin issue tracker */ I have spam admin access</p>
<hr />
<div><br />
MediaGoblin is a community project and we everybody try to help each other. Chris Webber is our lead developer, but the project should be able to self govern so he can take a break if he needs it or when he or other contributors take deserved holidays :) <br />
<br />
In general, you can ask anything in the mailing list or the IRC channel and hopefully somebody will answer soon. Topics are discussed in the mailing list, IRC channel or monthly meetings (in the IRC channel).<br />
<br />
In this page we list several tasks or areas along with the names or nicks of MediaGoblin community members that may help on them (for example, because they have permissions to perform certain operations). Please be kind when asking for help, most of us are volunteering for MediaGoblin in our free time, so answers or problems resolution can take a while.<br />
<br />
Feel free to edit this page to list more tasks or sign the ones you self-assign.<br />
<br />
<br />
More information about this in this mailing list thread: http://lists.mediagoblin.org/pipermail/devel/XXXXX<br />
<br />
<br />
== MediaGoblin codebase ==<br />
<br />
* People with permissions to commit/merge and handle the main codebase<br />
<br />
* General stuff: breton, Elrond (via PM on IRC)<br />
* Python 3 support: berkerpeksag (berker on IRC), breton<br />
* Audio/Video: breton<br />
* Documentation: jcampbell / j1mc<br />
<br />
== MediaGoblin website ==<br />
<br />
* People with permissions to handle website outages<br />
<br />
* Publish pages (for example new releases)<br />
<br />
<br />
== MediaGoblin wiki ==<br />
<br />
* Some Wiki administration: Elrond (via PM on IRC)<br />
<br />
== MediaGoblin issue tracker ==<br />
<br />
* Help triaging bugs: R13ose<br />
* People with permissions to create accounts in trac: Elrond<br />
* People with permissions to delete users/issues/comments in trac: Elrond<br />
* Volunteers for spam cleaning: LArjona, ayleph<br />
* Talk to trac people about spam: R13ose<br />
* Would like more access to be able to help/fix things:<br />
<br />
== MediaGoblin translation platform ==<br />
<br />
* If there is need of manual import/export files between Pootle and the MediaGoblin codebase, who can help on that<br />
* LArjona (Spanish translator) can guide new translators, reproduce problems in the translation platform, test changes, and help with Pootle quality checks. Available in the mailing list and IRC channel.<br />
* breton knows how and why translations are downloaded/compiled<br />
<br />
== MediaGoblin IRC channel and mailing list ==<br />
<br />
* Change IRC topic, channel operators</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Live_instances&diff=1689Live instances2015-04-16T18:30:08Z<p>Ayleph: added papers.goblinrefuge.com</p>
<hr />
<div>== Public ==<br />
<br />
These are public sites running GNU MediaGoblin:<br />
<br />
* http://roaming-initiative.com/mediagoblin/ running on http://hyperboria.net/ apparently! [http://www.reddit.com/r/darknetplan/comments/17e2dn/public_mediagoblin_server_available_on_hyperboria/ reddit thread]<br />
* http://mediagoblin.com -- Currently registration and video are disabled; you have to ping Chris Webber for an invite.<br />
* https://efjz.in -- "EricFontaineJazZmediagoblIN" is for me to archive recordings of music performances of me and my fellow musicians.<br />
* https://goblinrefuge.com -- Registration open. Images and video enabled.<br />
* https://mediagoblin.pixelminers.net/ -- Fast, secure (HTTPS enforced) Mediagoblin server. Open, free for all. Supports Pictures and Music. Currently requires Persona registration (even though once registered you can have a password mailed to you)<br />
* https://papers.goblinrefuge.com/ -- Registration open. Document uploads enabled. Targeted toward papers and presentations.<br />
<br />
=== Registration or uploads currently completely disabled: ===<br />
* https://gobblin.se (previously mg.wandborg.se) -- Registration open, but uploads are currently broken (help fixing is welcome!); all media types enabled (except STL/3D, at the moment) -- details; [[User:Joar/mg.wandborg.se|Joar/mg.wandborg.se]].<br />'''Your browser may not trust the certificate authority:''' http://wiki.cacert.org/InclusionStatus.<br />
* http://barn.kerosenecow.net/ -- Registration disabled. This is mainly a showcase for development of the [http://chiselapp.com/user/saulgoode/repository/mg-gimp/home MG-GIMP project] (a Mediagoblin plug-in that permits hosting of GIMP images and resources).<br />
<br />
=== Not working? ===<br />
* http://isengaara.de (not running as of 13 Oct 2014) -- IsengaaraP's mediahub for sharing [https://github.com/divVerent/ecantorix eCantorix] songs and [https://en.wikipedia.org/wiki/Cosplay コスプレ] photos.<br />
<br />
== Organizations ==<br />
<br />
These are instances run by organizations, usually having registration limited to organization members:<br />
<br />
* http://medii.ceata.org -- Fundația Ceata, Romanian Free Software and Free Culture activist organization. Registration is currently disabled.<br />
<br />
* http://media.libreplanet.org -- Videos of the LibrePlanet 2013 conference (Free Software Foundation). Registration is currently disabled.<br />
<br />
* http://mediagoblin.chicagolug.org -- Slides and photos from events and meetings of the Chicago GNU/Linux User Group. Registration is currently disabled.<br />
<br />
* https://capoeira.li/midia -- Material from Mídia Capoeira, a brazilian independent journalism initiative which promotes tactical-radical mediactivism. Registrations are open to facilitate non-identifiable uploads and leaked material.<br />
<br />
=== Not working? ===<br />
* http://media.openvideo.pro -- (can't connect as of Feb 14 2015) Open Video Productions, L.L.C.<br />
<br />
== Family/Friends ==<br />
<br />
Also, these sites are running MediaGoblin, but are for more limited audiences (family/friends of person who's running it, etc):<br />
<br />
* [http://media.haise.ca/ haise family photos] (currently with a baby focus)<br />
* [http://media.jpope.org/ jpope's instance] -- Registration currently disabled.<br />
* [http://media.thelovebug.org/ thelovebug's instance] (registration closed)<br />
* [http://photos.katsarov.org photos.katsarov.org] Photos by Anton Katsarov (registration closed)<br />
* [http://media.micha.elmueller.net media.micha.elmueller.net] Photos by Michael Müller, all licensed under CC-BY (registration closed)<br />
* [http://mediagoblin.aurka.com mediagoblin.aurka.com] janssen’s personal mediagoblin-instance with concerts, demonstrations and other stuff (registration closed)<br />
* [http://media.deadsuperhero.com/ media.deadsuperhero.com] Artwork and photos from Sean Tilley, who writes MediaGoblin themes for fun.<br />
* [http://media.chrishancockart.com/ media.chrishancockart.com] Artwork from Chris Hancock. (registration closed)<br />
* [http://photos.technicallyandrew.com photos.technicallyandrew.com] Photos by Andrew Browning (registration closed)<br />
* [http://media.larjona.net] Laura Arjona's pictures and videos, family, and libre software stuff (registration closed)<br />
* [http://media.mnalis.com media.mnalis.com] family photos and cycling events for [http://biciklijade.com/ biciklijade.com] (registration closed)<br />
<br />
=== Not working? ===<br />
* [http://media.interi.org/ maiki’s baby photo site] (can't connect on 16 Oct 2014)<br />
* [http://media.sspaeth.de spaetz' private pics] (under construction on 16 Oct 2014) Sebastian Spaeth's pictures, family and stuff (registration closed)<br />
* [http://gallery.dick-thomas.co.uk gallery.Dick-Thomas.co.uk] (can't connect on 16 Oct 2014) Dick Thomas' pictures, family and stuff (registration closed)<br />
* [http://media.wigunnara.com media.wigunnara.com] (can't connect on 16 Oct 2014) Giri Alam's pictures, family and stuff (registration closed)<br />
* [http://noreal.info/galeria noreal.info/galeria] (does not open on 16 Oct 2014) Run in a Raspberry-pi by Arder Vegan (registration closed)<br />
* [http://ardervegan.info/media ardervegan.info/media] (error 404 on 16 Oct 2014) Run in a Raspberry-pi by Arder Vegan (registration closed)<br />
* [http://69.204.244.48:6543] (can't connect on 16 Oct 2014) Pictures and music from Charles Pehlivanian, hosted on a Raspberry Pi.<br />
<br />
<br />
''You can add your instance here, too!''</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Main_Page&diff=1639Main Page2015-01-15T01:04:26Z<p>Ayleph: Undo revision 1634 by MonikaQDCU (talk)</p>
<hr />
<div>= Want to Join the MediaGoblin Community? =<br />
<br />
We’re really glad that you want to join the MediaGoblin community!<br />
<br />
There are a variety of ways to help and support MediaGoblin and to join the team. If you want to code, great, if not, even better! MediaGoblin interested contributors in many different roles: users, system administrators, technical writers, testers, evangelists, UI/UX and graphics designers, cheerleaders, and dreamers.<br />
<br />
We observe the [https://www.djangoproject.com/conduct/ Django code of conduct]. Be welcoming, friendly, and patient!<br />
<br />
This wiki covers a variety of ways that you can get involved with MediaGoblin as well as instructions on how to get started.<br />
<br />
<br />
== Hang out with the MediaGoblin folk ==<br />
<br />
MediaGoblin has a mailing list and an IRC channel where we hang out. See [http://mediagoblin.org/pages/join.html our join page] for links.<br />
<br />
Please drop by and say “Hi!” And, if you’re looking for something to do, just ask---there’s always work to be done.<br />
<br />
<br />
== Take Part in the Monthly Meetings ==<br />
<br />
Each month is a [[:Meeting|Meeting]]. You can take part and help decide on the future of MediaGoblin. Or just be around and see what's happening live!<br />
<br />
=How Can you help ?=<br />
<br />
First and foremost, for many (but not all) types of contributions you may want to set up a local instance. To learn how to do this, see the [[HackingHowto]] page. (If you're not familiar with command line level things, there are still ways you can help below!)<br />
<br />
== File Bugs / Triage Bugs ==<br />
<br />
Issue reports are critical for all projects. Identified bugs give developers a basis for beginning work, and providing an idea of what features and issues are most important to users and the overall usability of the software. If you identify errors, flaws, unexpected behaviors, or deficits that impede use, file a bug.<br />
<br />
* [[File Bugs]] -- notes on filing new bugs/issues/feature requests<br />
* [[Feature Ideas]] -- notes on possible features<br />
* [[Triage Bugs]] -- notes on triaging<br />
* [[BugTriageDay]] -- every other Thursday is bug triage day where anyone can help out triaging bugs<br />
<br />
<br />
== Send Encouragement / Spread the Word ==<br />
<br />
Sometimes, a nice word, simple encouragement, and interest in the work we’re doing is enough to inspire a tizzy of productive work. Just a bit more interest and encouragement can even make the difference between a complete feature and limited functionality; between a completed milestone and lost momentum.<br />
<br />
Similarly, MediaGoblin, and the movement for free network services, is always in need of encouragement. Use free network services, understand the principals behind the movement, be able to articulate the benefits of free network services and the problems with psudo-free applications that don’t respect the users’ freedom.<br />
<br />
Write a blog post, post a status update, drop by the listserv or join #mediagoblin on freenode.net and let us know. See [http://mediagoblin.org/join/ our join page] for links.<br />
<br />
<br />
== Write Documentation / Edit Documentation ==<br />
<br />
* [[Documentation quick start]] - How to contribute to the documentation effort.<br />
* [[ManualStandards]] - covers the standards for writing the user manual (forthcoming.) <br />
<br />
<br />
== Test MediaGoblin ==<br />
<br />
Do you have access to the web? Do you like sharing your opinions? If so, we need your help to test MediaGoblin! Testers play around with the current test instance, note what operating system and browser they use (notes on multiple set-ups are also helpful) and take some notes. That's it! It's a very important task that doesn't require any special knowledge and you're done in under an hour. Ready to help? <br />
<br />
* [[User Experience]] - user experience testing. Includes link to an instance you can try!<br />
* [[UnitTests|Unit Tests]] - all about the unit tests<br />
* [[Manual_Functional_Testing|Manual Functional Testing]] - a great way to get to know MediaGoblin.<br />
<br />
<br />
== Translate MediaGoblin ==<br />
<br />
If you know English and another language and feel comfortable translating elements of the interface or even the documentation, we’d love to have help translating the software and resources.<br />
Translating MediaGoblin is very easy with a web interface, so there is no programming knowledge required at all.<br />
<br />
* [[Translations]] - How to translate stuff or update the translations<br />
<br />
== Become a User ==<br />
<br />
Coming soon!<br />
<br />
We’re building MediaGoblin for us and for you but really you’re one of us and I am you and we are we and MediaGoblin is the walrus.<br />
<br />
We're planning to launch our own public instance of MediaGoblin in the near future--probably in the September/October 2011 time frame. When we do, sign up for an account, use the service and relish in the thought that this service comes with a heaping side of Freedom and you can salt and pepper it to your liking.<br />
<br />
<br />
== Help Others ==<br />
<br />
Have you spent time with MediaGoblin? If so, your experience and wisdom are invaluable and you’re the best person we can think of to help other users with their questions.<br />
<br />
Hang out on the IRC channel and help answer new peoples' questions. See [http://mediagoblin.org/join/ our join page] for links.<br />
<br />
<br />
== Run your own MediaGoblin Instance ==<br />
<br />
Are there things about our instance you want to change? Are there things about other instances you wish were different? Want to test upcoming changes? Want to create patches to implement things you need? That’s great—you can run your own instance!<br />
<br />
The primary documentation for this is at [http://docs.mediagoblin.org http://docs.mediagoblin.org] but here are some additional tips:<br />
<br />
* [[Configure_MediaGoblin|Configuration]] - Learn about MediaGoblin configuration files and file options.<br />
* [[Deployment]] - General deployment advice<br />
* [[Scaling Down]] - Minimizing MediaGoblin's resource requirements<br />
* [[Virtual Machine Hosting]] - Deploy your own publicly available MediaGoblin server using [http://aws.amazon.com/free/?utm_source=adwords&utm_medium=cpc&utm_campaign=CPC_Google_AWS_ec2&utm_content=TextV01_PP_V01_EC2&trk=CPC_Google_AWS_ec2 Amazon's free EC2 tier].<br />
<br />
= Technical project documentation =<br />
<br />
The technical docs, that are more finished and the ones that are better maintained near the code (so they stay up to date) are in the more technical chapters of the [http://docs.mediagoblin.org/ main documentation].<br />
* [[Storage]] - How MediaGoblin's internal storage system works.<br />
* [[Processing]] - What happens after you submit your image/video/etc? Processing! More about that.<br />
* [https://gitorious.org/mediagoblin/mediagoblin/blobs/master/extlib/README External Library Policy] - covers use of external libraries<br />
* [[User:Cwebber/braindumps]] - Chris Webber's braindumps (you can help refactoring these into real sections of the site!)<br />
* [[Multiple media support]] - Design plan for multiple media support<br />
<br />
== Write Code / Fix Code ==<br />
<br />
MediaGoblin development is premised on the idea that the entire interface for the platform be completely theme-able. If you have a design or theming background, consider developing themes for MediaGoblin. New themes help test the theming system, provide attractive and appealing interfaces for prospective users. If you want to start a new theme but don’t know where to start, touch base with the development community on the list or in the IRC channel for more information.<br />
<br />
If you are a coder and you would like to write code, the repository is hosted on gitorious. Clone or fork the repository and start poking around. Become familiar with this manual for an overview of how the software works and is used. Consider the contributor wiki for more information about the project, our preferred methods, and guides for developing MediaGoblin. We even have tips on becoming a coder and we’re willing to help!<br />
<br />
* [[HackingHowto|Hacking]] - notes on making and sending in code contributions<br />
** [[BeginnersCorner|Beginner's Corner]] - resources for those who are new to Python or Git.<br />
** ''Started from an older version of the Hacking Howto? We switched from buildout->virtualenv, so look at [[Moving from buildout to virtualenv]] for information on how to move over.''<br />
* [[Git workflow]] - How to go about submitting patches via git.<br />
* [[Code review tips]] - Tips on how to go about doing local code review<br />
* [[Templating]] - How our templating structure is set up<br />
* [[Code overview]] - Overview of the structure of the codebase<br />
<br />
== Create a Theme ==<br />
<br />
See [http://docs.mediagoblin.org/siteadmin/theming.html the theming docs]<br />
<br />
== Write a plugin ==<br />
<br />
If you start, you'll find some basic documentation [http://docs.mediagoblin.org/#part-4-developer-s-zone| in the docs site]<br />
<br />
You've made a plugin ? List it here : <br />
<br />
[[Available_Plugins|Available plugins]]<br />
<br />
You've written a plugin ? You got some tips to share ? A tutorial idea ? Please do :<br />
<br />
[[PluginsTips|Plugins Tips]]<br />
<br />
= Misc =<br />
<br />
== Android client ==<br />
<br />
See [[Android Client]]<br />
<br />
= Inner workings of the secret sanctum =<br />
<br />
* [[IRCBot]] - covers our irc bot<br />
* [[ReleaseProcess|Release Process]] - covers the release process<br />
* [[Update the website]] - Learn how to update mediagoblin.org!<br />
<br />
=FAQ=<br />
<br />
[[GMG FAQ]]</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Main_Page&diff=1638Main Page2015-01-15T01:04:04Z<p>Ayleph: Undo revision 1635 by TarenSlowik (talk)</p>
<hr />
<div><br><br><br><br>To learn more info on [http://madlyfatherland08.sosblogs.com/The-first-blog-b1/baby-shop-b1-p2353.htm онлайн магазин за бебето] check out the [http://Www.Answers.com/topic/internet+site internet site].</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Main_Page&diff=1637Main Page2015-01-15T01:03:49Z<p>Ayleph: Undo revision 1636 by SungGirardi (talk)</p>
<hr />
<div><br><br><br><br>If you loved this report and you would like to get more facts regarding [https://Www.Gov.uk/search?q=%D0%B1%D0%B5%D0%B1%D0%B5%D1%88%D0%BA%D0%B8 бебешки] продукти NUK - [http://worthlesslid413.deviantart.com/status/ deviantart.com], kindly visit the [http://Www.europeana.eu/portal/search.html?query=web-site web-site].</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Available_Plugins&diff=1620Available Plugins2014-11-03T12:03:56Z<p>Ayleph: /* Third party plugins */ Changed name of plugin to avoid confusion with search branch</p>
<hr />
<div>= A list of Available Plugins for MediaGoblin =<br />
<br />
==Core plugins ==<br />
<br />
The core plugins are available right away with your mediaboblin instance, they are not necessarily activated by default, tho. Please check the [http://docs.mediagoblin.org/siteadmin/plugins.html plugin documentation] to learn how to activate them.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Options !! Usage !! Doc !! Author<br />
|-<br />
| api || || || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| basic_auth || || || || <br />
|-<br />
| flatpagesfile || || It allows you to add pages to your MediaGoblin instance which are not generated from user content || [http://docs.mediagoblin.org/plugindocs/flatpagesfile.html doc] ||<br />
|-<br />
| geolocation || || || || <br />
|-<br />
| httpapiauth|| || Enables [http://en.wikipedia.org/wiki/Basic_access_authentication HTTP basic authentication] for the API || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| ldap || || || || <br />
|-<br />
| oauth || || The [http://en.wikipedia.org/wiki/Oauth oauth] plugin enables third party web applications to authenticate as one or more GNU MediaGoblin users ||[http://docs.mediagoblin.org/plugindocs/oauth.html doc] || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| openid || || || || <br />
|-<br />
| persona || || || || <br />
|-<br />
| piwigo || || Provides a Piwigo-compatible API || || <br />
|-<br />
| raven || || Support [http://www.getsentry.com/ Sentry] via Raven || [http://docs.mediagoblin.org/plugindocs/raven.html doc] ||<br />
|-<br />
| sampleplugin || || Dummy plugin for example purpose || ||<br />
|-<br />
| trim_whitespace|| || This plugin inserts a Middleware that filters out whitespace from the returned HTML in the Response() objects.||[http://docs.mediagoblin.org/plugindocs/trim_whitespace.html doc] ||<br />
|}<br />
<br />
== Third party plugins==<br />
<br />
Those plugins have been made by various contributors to extend mediagoblin's possibilities<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! What !! Options !! Doc !! How to get it ? !! Author<br />
|-<br />
| mediagoblin-licenses || Extend or replace the default license list ||<br />
* Append to existing list (true/false)<br />
* Licence list<br />
|| || pip install mediagoblin-licenses ||<br />
|-<br />
|[https://github.com/Velmont/gmg_localfiles gmg_localfiles] || Import files from your local filesystem without duplicating them. || || [https://github.com/Velmont/gmg_localfiles/blob/master/README.md doc] || git clone https://github.com/Velmont/gmg_localfiles.git || odinho/Velmont<br />
|-<br />
|[https://github.com/commonsmachinery/mediagoblin_svg mediagoblin_svg] || SVG image support || Display previews and thumbnails as SVG || || Check README ||<br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-hidden_original mediagoblin-hidden_original] || Hidden original || Give original upload a secret url, only publish downsized version || || pip install mediagoblin-hidden_original || [[User:Unhammer|Unhammer]] <br />
|-<br />
|[https://github.com/ayleph/mediagoblin-recaptcha mediagoblin-recaptcha] || [https://www.google.com/recaptcha Google reCAPTCHA] support || Enable reCAPTCHA on registration form over http/https || [https://github.com/ayleph/mediagoblin-recaptcha/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-recaptcha.git || [[User:Ayleph|ayleph]]<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-piwik mediagoblin-piwik] || [https://piwik.org Piwik] support || || [https://github.com/ayleph/mediagoblin-piwik/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-piwik.git || [[User:Ayleph|ayleph]]<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-basicsearch mediagoblin-basicsearch] || Search for media || || [https://github.com/ayleph/mediagoblin-basicsearch/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-basicsearch.git || [[User:Ayleph|ayleph]]<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
You're working on a plugin but it's not ready ? Please let us know, cause if someone wants to make the same feature, this person will help you rather than doing the same thing from scratch ! <br />
<br />
{| class="wikitable"<br />
|-<br />
! Temporary name !! Planned features !! Repo or a place to see the WIP !! Author !! Status<br />
|-<br />
| Raw file support for GMG ||<br />
* Support NEF, '''done'''<br />
* Support CR2<br />
* Investigate support for other formats (if they include full-quality JPEG inside the file)<br />
|| https://github.com/Velmont/mediagoblin/tree/raw_image_mediatype || odinho/Velmont ||<br />
|-<br />
| [https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/trees/WIP/tag_cloud_plugin Tag Cloud] || Add a tag cloud feature for your templates || git clone git://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin.git HEAD:WIP/tag_cloud_plugin || Spaetz || [http://www.media.sspaeth.de/u/spaetz/ It works] but still needs core modifications.<br />
|-<br />
| Image property export for use externally ||<br />
* Basically, this would allow other sites (WordPress, etc.) to use their own plugins to easily grab image properties (description, name, url, alt text, license) for automatic insertion.<br />
* Include additional image properties (eg. alt text, short description) for scraping.<br />
|| [none] || exhipigeonist || Absolutely no work and very little planning. Currently no more than an idea I'd like to work on later if I get time, in conjunction with a WordPress plugin that would utilise it, of course.<br />
|- <br />
| HTML5-Multiupload || Adds a the html5 multifile input to the submit form || https://github.com/VenKamikaze/mediagoblin-html5-multi-upload<br />
|| kamikaze-m || Working on 0.4.1, but needs proper review. Test and report bugs, it might not work, but it's absolutly harmless to your MG instance <br />
|-<br />
| [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP] || Allows uploading of XCF images and GIMP resources (palettes, patterns, curves, gradients, brushes, dynamics, and tool presets). Thumbnails and previews are generated by an instance of GIMP running headlessly as a daemon. || [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP docs and code repository] [http://barn.kerosenecow.net/ Instance featuring GIMP media]|| saulgoode || Nearing completion. Still needs to be packaged for easier deployment.<br />
|-<br />
|[https://github.com/commonsmachinery/mg-rdfa mg-rdfa] || Embedding image metadata as RDFa || https://github.com/commonsmachinery/mg-rdfa || artfwo || Experimental, only SVG images are supported at the moment. <br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-purchase mediagoblin-purchase] || Purchase button || https://gitorious.org/mediagoblin-stock/mediagoblin-purchase || [[User:Unhammer|Unhammer]] || Just started <br />
|-<br />
|[https://github.com/sebastiansam55/uploadurl uploadurl] || Upload Images via URL instead of file || https://github.com/sebastiansam55/uploadurl || sebastiansam55 || Works when using browser that is logged in. Needs to use oauth or similar<br />
|}</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Live_instances&diff=1618Live instances2014-11-01T16:07:14Z<p>Ayleph: /* Family/Friends */ forgot to restart my instance after an upgrade. fixed now.</p>
<hr />
<div>== Public ==<br />
<br />
These are public sites running GNU MediaGoblin:<br />
<br />
* http://roaming-initiative.com/mediagoblin/ running on http://hyperboria.net/ apparently! [http://www.reddit.com/r/darknetplan/comments/17e2dn/public_mediagoblin_server_available_on_hyperboria/ reddit thread]<br />
* http://mediagoblin.com -- Currently registration and video are disabled; you have to ping Chris Webber for an invite.<br />
* https://efjz.in -- "EricFontaineJazZmediagoblIN" is for me to archive recordings of music performances of me and my fellow musicians.<br />
* https://goblinrefuge.com -- Registration open. Images and video enabled.<br />
=== Registration or uploads currently completely disabled: ===<br />
* https://gobblin.se (previously mg.wandborg.se) -- Registration open, but uploads are currently not working; all media types enabled (except STL/3D, at the moment) -- details; [[User:Joar/mg.wandborg.se|Joar/mg.wandborg.se]].<br />'''Your browser may not trust the certificate authority:''' http://wiki.cacert.org/InclusionStatus.<br />
* http://barn.kerosenecow.net/ -- Registration disabled. This is mainly a showcase for development of the [http://chiselapp.com/user/saulgoode/repository/mg-gimp/home MG-GIMP project] (a Mediagoblin plug-in that permits hosting of GIMP images and resources).<br />
* https://mediagoblin.pixelminers.net/ -- Registration closed due to registration spam. Hoping to reopen soon. For now you might [[User talk:Reezer|talk to Reezer]] for an invite.<br />
=== Not working? ===<br />
* http://isengaara.de (not running as of 13 Oct 2014) -- IsengaaraP's mediahub for sharing [https://github.com/divVerent/ecantorix eCantorix] songs and [https://en.wikipedia.org/wiki/Cosplay コスプレ] photos.<br />
<br />
== Organizations ==<br />
<br />
These are instances run by organizations, usually having registration limited to organization members:<br />
<br />
* http://medii.ceata.org -- Fundația Ceata, Romanian Free Software and Free Culture activist organization. Registration is currently disabled.<br />
<br />
* http://media.libreplanet.org -- Videos of the LibrePlanet 2013 conference (Free Software Foundation). Registration is currently disabled.<br />
<br />
* http://media.openvideo.pro -- Open Video Productions, L.L.C. Registration is currently disabled.<br />
<br />
* http://media.chicagolug.org -- Chicago GNU/Linux User Group. Registration is currently disabled.<br />
<br />
== Family/Friends ==<br />
<br />
Also, these sites are running MediaGoblin, but are for more limited audiences (family/friends of person who's running it, etc):<br />
<br />
* [http://media.haise.ca/ haise family photos] (currently with a baby focus)<br />
* [http://media.jpope.org/ jpope's instance] -- Registration currently disabled.<br />
* [http://media.thelovebug.org/ thelovebug's instance] (registration closed)<br />
* [http://photos.katsarov.org photos.katsarov.org] Photos by Anton Katsarov (registration closed)<br />
* [http://media.micha.elmueller.net media.micha.elmueller.net] Photos by Michael Müller, all licensed under CC-BY (registration closed)<br />
* [http://mediagoblin.aurka.com mediagoblin.aurka.com] janssen’s personal mediagoblin-instance with concerts, demonstrations and other stuff (registration closed)<br />
* [http://media.deadsuperhero.com/ media.deadsuperhero.com] Artwork and photos from Sean Tilley, who writes MediaGoblin themes for fun.<br />
* [http://media.chrishancockart.com/ media.chrishancockart.com] Artwork from Chris Hancock. (registration closed)<br />
* [http://photos.technicallyandrew.com photos.technicallyandrew.com] Photos by Andrew Browning (registration closed)<br />
=== Not working? ===<br />
* [http://media.interi.org/ maiki’s baby photo site] (can't connect on 16 Oct 2014)<br />
* [http://media.sspaeth.de spaetz' private pics] (under construction on 16 Oct 2014) Sebastian Spaeth's pictures, family and stuff (registration closed)<br />
* [http://gallery.dick-thomas.co.uk gallery.Dick-Thomas.co.uk] (can't connect on 16 Oct 2014) Dick Thomas' pictures, family and stuff (registration closed)<br />
* [http://media.wigunnara.com media.wigunnara.com] (can't connect on 16 Oct 2014) Giri Alam's pictures, family and stuff (registration closed)<br />
* [http://noreal.info/galeria noreal.info/galeria] (does not open on 16 Oct 2014) Run in a Raspberry-pi by Arder Vegan (registration closed)<br />
* [http://ardervegan.info/media ardervegan.info/media] (error 404 on 16 Oct 2014) Run in a Raspberry-pi by Arder Vegan (registration closed)<br />
* [http://69.204.244.48:6543] (can't connect on 16 Oct 2014) Pictures and music from Charles Pehlivanian, hosted on a Raspberry Pi.<br />
<br />
==Special Interest==<br />
<br />
* [http://www.indyshop.org Indyshop]:Fashion Blog & Independent Shop Showcase - Registration by email request for independent brick and mortar shops only.<br />
<br />
<br />
''You can add your instance here, too!''</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Search&diff=1616Search2014-11-01T01:07:08Z<p>Ayleph: added search plugin</p>
<hr />
<div>Currently MG does not have any built-in search engine, but Praveen Kumar has developed a proposal during his [[GSOC_2013#Search_interface|GSOC 2013]] project. Some links:<br />
<br />
* [http://mediagoblin.org/news/summer-of-awesome-wrapup.html Summer of Awesome Wrap-up blog post]<br />
* [https://github.com/praveen97uma/GSoC-Docs/wiki/Search-Interface-for-MediaGoblin Documentation related to the project]<br />
* [https://www.gitorious.org/mediagoblin/alons-mediagoblin/commits/74f0f0943305ab85dbc1a6c6495db92148ac716e Gitorious branch (being reviewed and polished)]<br />
<br />
A basic search [[Available Plugins|plugin]] is also available from [https://github.com/ayleph/mediagoblin-search github]. The plugin is not as full-featured or as polished as the search function described above, but it does provide a quick and easy way to perform basic searches on an instance.</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Available_Plugins&diff=1615Available Plugins2014-11-01T00:58:44Z<p>Ayleph: /* A list of Available Plugins for MediaGoblin */ search plugin is ready for use</p>
<hr />
<div>= A list of Available Plugins for MediaGoblin =<br />
<br />
==Core plugins ==<br />
<br />
The core plugins are available right away with your mediaboblin instance, they are not necessarily activated by default, tho. Please check the [http://docs.mediagoblin.org/siteadmin/plugins.html plugin documentation] to learn how to activate them.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Options !! Usage !! Doc !! Author<br />
|-<br />
| api || || || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| basic_auth || || || || <br />
|-<br />
| flatpagesfile || || It allows you to add pages to your MediaGoblin instance which are not generated from user content || [http://docs.mediagoblin.org/plugindocs/flatpagesfile.html doc] ||<br />
|-<br />
| geolocation || || || || <br />
|-<br />
| httpapiauth|| || Enables [http://en.wikipedia.org/wiki/Basic_access_authentication HTTP basic authentication] for the API || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| ldap || || || || <br />
|-<br />
| oauth || || The [http://en.wikipedia.org/wiki/Oauth oauth] plugin enables third party web applications to authenticate as one or more GNU MediaGoblin users ||[http://docs.mediagoblin.org/plugindocs/oauth.html doc] || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| openid || || || || <br />
|-<br />
| persona || || || || <br />
|-<br />
| piwigo || || Provides a Piwigo-compatible API || || <br />
|-<br />
| raven || || Support [http://www.getsentry.com/ Sentry] via Raven || [http://docs.mediagoblin.org/plugindocs/raven.html doc] ||<br />
|-<br />
| sampleplugin || || Dummy plugin for example purpose || ||<br />
|-<br />
| trim_whitespace|| || This plugin inserts a Middleware that filters out whitespace from the returned HTML in the Response() objects.||[http://docs.mediagoblin.org/plugindocs/trim_whitespace.html doc] ||<br />
|}<br />
<br />
== Third party plugins==<br />
<br />
Those plugins have been made by various contributors to extend mediagoblin's possibilities<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! What !! Options !! Doc !! How to get it ? !! Author<br />
|-<br />
| mediagoblin-licenses || Extend or replace the default license list ||<br />
* Append to existing list (true/false)<br />
* Licence list<br />
|| || pip install mediagoblin-licenses ||<br />
|-<br />
|[https://github.com/Velmont/gmg_localfiles gmg_localfiles] || Import files from your local filesystem without duplicating them. || || [https://github.com/Velmont/gmg_localfiles/blob/master/README.md doc] || git clone https://github.com/Velmont/gmg_localfiles.git || odinho/Velmont<br />
|-<br />
|[https://github.com/commonsmachinery/mediagoblin_svg mediagoblin_svg] || SVG image support || Display previews and thumbnails as SVG || || Check README ||<br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-hidden_original mediagoblin-hidden_original] || Hidden original || Give original upload a secret url, only publish downsized version || || pip install mediagoblin-hidden_original || [[User:Unhammer|Unhammer]] <br />
|-<br />
|[https://github.com/ayleph/mediagoblin-recaptcha mediagoblin-recaptcha] || [https://www.google.com/recaptcha Google reCAPTCHA] support || Enable reCAPTCHA on registration form over http/https || [https://github.com/ayleph/mediagoblin-recaptcha/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-recaptcha.git || [[User:Ayleph|ayleph]]<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-piwik mediagoblin-piwik] || [https://piwik.org Piwik] support || || [https://github.com/ayleph/mediagoblin-piwik/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-piwik.git || [[User:Ayleph|ayleph]]<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-search mediagoblin-search] || Search for media || || [https://github.com/ayleph/mediagoblin-search/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-search.git || [[User:Ayleph|ayleph]]<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
You're working on a plugin but it's not ready ? Please let us know, cause if someone wants to make the same feature, this person will help you rather than doing the same thing from scratch ! <br />
<br />
{| class="wikitable"<br />
|-<br />
! Temporary name !! Planned features !! Repo or a place to see the WIP !! Author !! Status<br />
|-<br />
| Raw file support for GMG ||<br />
* Support NEF, '''done'''<br />
* Support CR2<br />
* Investigate support for other formats (if they include full-quality JPEG inside the file)<br />
|| https://github.com/Velmont/mediagoblin/tree/raw_image_mediatype || odinho/Velmont ||<br />
|-<br />
| [https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/trees/WIP/tag_cloud_plugin Tag Cloud] || Add a tag cloud feature for your templates || git clone git://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin.git HEAD:WIP/tag_cloud_plugin || Spaetz || [http://www.media.sspaeth.de/u/spaetz/ It works] but still needs core modifications.<br />
|-<br />
| Image property export for use externally ||<br />
* Basically, this would allow other sites (WordPress, etc.) to use their own plugins to easily grab image properties (description, name, url, alt text, license) for automatic insertion.<br />
* Include additional image properties (eg. alt text, short description) for scraping.<br />
|| [none] || exhipigeonist || Absolutely no work and very little planning. Currently no more than an idea I'd like to work on later if I get time, in conjunction with a WordPress plugin that would utilise it, of course.<br />
|- <br />
| HTML5-Multiupload || Adds a the html5 multifile input to the submit form || https://github.com/VenKamikaze/mediagoblin-html5-multi-upload<br />
|| kamikaze-m || Working on 0.4.1, but needs proper review. Test and report bugs, it might not work, but it's absolutly harmless to your MG instance <br />
|-<br />
| [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP] || Allows uploading of XCF images and GIMP resources (palettes, patterns, curves, gradients, brushes, dynamics, and tool presets). Thumbnails and previews are generated by an instance of GIMP running headlessly as a daemon. || [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP docs and code repository] [http://barn.kerosenecow.net/ Instance featuring GIMP media]|| saulgoode || Nearing completion. Still needs to be packaged for easier deployment.<br />
|-<br />
|[https://github.com/commonsmachinery/mg-rdfa mg-rdfa] || Embedding image metadata as RDFa || https://github.com/commonsmachinery/mg-rdfa || artfwo || Experimental, only SVG images are supported at the moment. <br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-purchase mediagoblin-purchase] || Purchase button || https://gitorious.org/mediagoblin-stock/mediagoblin-purchase || [[User:Unhammer|Unhammer]] || Just started <br />
|-<br />
|[https://github.com/sebastiansam55/uploadurl uploadurl] || Upload Images via URL instead of file || https://github.com/sebastiansam55/uploadurl || sebastiansam55 || Works when using browser that is logged in. Needs to use oauth or similar<br />
|}</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Available_Plugins&diff=1614Available Plugins2014-10-30T13:53:01Z<p>Ayleph: Added WIP search plugin</p>
<hr />
<div>= A list of Available Plugins for MediaGoblin =<br />
<br />
==Core plugins ==<br />
<br />
The core plugins are available right away with your mediaboblin instance, they are not necessarily activated by default, tho. Please check the [http://docs.mediagoblin.org/siteadmin/plugins.html plugin documentation] to learn how to activate them.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Options !! Usage !! Doc !! Author<br />
|-<br />
| api || || || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| basic_auth || || || || <br />
|-<br />
| flatpagesfile || || It allows you to add pages to your MediaGoblin instance which are not generated from user content || [http://docs.mediagoblin.org/plugindocs/flatpagesfile.html doc] ||<br />
|-<br />
| geolocation || || || || <br />
|-<br />
| httpapiauth|| || Enables [http://en.wikipedia.org/wiki/Basic_access_authentication HTTP basic authentication] for the API || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| ldap || || || || <br />
|-<br />
| oauth || || The [http://en.wikipedia.org/wiki/Oauth oauth] plugin enables third party web applications to authenticate as one or more GNU MediaGoblin users ||[http://docs.mediagoblin.org/plugindocs/oauth.html doc] || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| openid || || || || <br />
|-<br />
| persona || || || || <br />
|-<br />
| piwigo || || Provides a Piwigo-compatible API || || <br />
|-<br />
| raven || || Support [http://www.getsentry.com/ Sentry] via Raven || [http://docs.mediagoblin.org/plugindocs/raven.html doc] ||<br />
|-<br />
| sampleplugin || || Dummy plugin for example purpose || ||<br />
|-<br />
| trim_whitespace|| || This plugin inserts a Middleware that filters out whitespace from the returned HTML in the Response() objects.||[http://docs.mediagoblin.org/plugindocs/trim_whitespace.html doc] ||<br />
|}<br />
<br />
== Third party plugins==<br />
<br />
Those plugins have been made by various contributors to extend mediagoblin's possibilities<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! What !! Options !! Doc !! How to get it ? !! Author<br />
|-<br />
| mediagoblin-licenses || Extend or replace the default license list ||<br />
* Append to existing list (true/false)<br />
* Licence list<br />
|| || pip install mediagoblin-licenses ||<br />
|-<br />
|[https://github.com/Velmont/gmg_localfiles gmg_localfiles] || Import files from your local filesystem without duplicating them. || || [https://github.com/Velmont/gmg_localfiles/blob/master/README.md doc] || git clone https://github.com/Velmont/gmg_localfiles.git || odinho/Velmont<br />
|-<br />
|[https://github.com/commonsmachinery/mediagoblin_svg mediagoblin_svg] || SVG image support || Display previews and thumbnails as SVG || || Check README ||<br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-hidden_original mediagoblin-hidden_original] || Hidden original || Give original upload a secret url, only publish downsized version || || pip install mediagoblin-hidden_original || [[User:Unhammer|Unhammer]] <br />
|-<br />
|[https://github.com/ayleph/mediagoblin-recaptcha mediagoblin-recaptcha] || [https://www.google.com/recaptcha Google reCAPTCHA] support || Enable reCAPTCHA on registration form over http/https || [https://github.com/ayleph/mediagoblin-recaptcha/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-recaptcha.git || [[User:Ayleph|ayleph]]<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-piwik mediagoblin-piwik] || [https://piwik.org Piwik] support || || [https://github.com/ayleph/mediagoblin-piwik/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-piwik.git || [[User:Ayleph|ayleph]]<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
You're working on a plugin but it's not ready ? Please let us know, cause if someone wants to make the same feature, this person will help you rather than doing the same thing from scratch ! <br />
<br />
{| class="wikitable"<br />
|-<br />
! Temporary name !! Planned features !! Repo or a place to see the WIP !! Author !! Status<br />
|-<br />
| Raw file support for GMG ||<br />
* Support NEF, '''done'''<br />
* Support CR2<br />
* Investigate support for other formats (if they include full-quality JPEG inside the file)<br />
|| https://github.com/Velmont/mediagoblin/tree/raw_image_mediatype || odinho/Velmont ||<br />
|-<br />
| [https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/trees/WIP/tag_cloud_plugin Tag Cloud] || Add a tag cloud feature for your templates || git clone git://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin.git HEAD:WIP/tag_cloud_plugin || Spaetz || [http://www.media.sspaeth.de/u/spaetz/ It works] but still needs core modifications.<br />
|-<br />
| Image property export for use externally ||<br />
* Basically, this would allow other sites (WordPress, etc.) to use their own plugins to easily grab image properties (description, name, url, alt text, license) for automatic insertion.<br />
* Include additional image properties (eg. alt text, short description) for scraping.<br />
|| [none] || exhipigeonist || Absolutely no work and very little planning. Currently no more than an idea I'd like to work on later if I get time, in conjunction with a WordPress plugin that would utilise it, of course.<br />
|- <br />
| HTML5-Multiupload || Adds a the html5 multifile input to the submit form || https://github.com/VenKamikaze/mediagoblin-html5-multi-upload<br />
|| kamikaze-m || Working on 0.4.1, but needs proper review. Test and report bugs, it might not work, but it's absolutly harmless to your MG instance <br />
|-<br />
| [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP] || Allows uploading of XCF images and GIMP resources (palettes, patterns, curves, gradients, brushes, dynamics, and tool presets). Thumbnails and previews are generated by an instance of GIMP running headlessly as a daemon. || [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP docs and code repository] [http://barn.kerosenecow.net/ Instance featuring GIMP media]|| saulgoode || Nearing completion. Still needs to be packaged for easier deployment.<br />
|-<br />
|[https://github.com/commonsmachinery/mg-rdfa mg-rdfa] || Embedding image metadata as RDFa || https://github.com/commonsmachinery/mg-rdfa || artfwo || Experimental, only SVG images are supported at the moment. <br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-purchase mediagoblin-purchase] || Purchase button || https://gitorious.org/mediagoblin-stock/mediagoblin-purchase || [[User:Unhammer|Unhammer]] || Just started <br />
|-<br />
|[https://github.com/sebastiansam55/uploadurl uploadurl] || Upload Images via URL instead of file || https://github.com/sebastiansam55/uploadurl || sebastiansam55 || Works when using browser that is logged in. Needs to use oauth or similar<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-search mediagoblin-search] || Search for media || https://github.com/ayleph/mediagoblin-search || [[User:Ayleph|ayleph]] || Support searching for single terms in media title and description.<br />
|}</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Main_Page&diff=1588Main Page2014-09-21T17:36:06Z<p>Ayleph: Undo revision 1585 by RethaLimavkh (talk)</p>
<hr />
<div>= Want to Join the MediaGoblin Community? =<br />
<br />
We’re really glad that you want to join the MediaGoblin community!<br />
<br />
There are a variety of ways to help and support MediaGoblin and to join the team. If you want to code, great, if not, even better! MediaGoblin interested contributors in many different roles: users, system administrators, technical writers, testers, evangelists, UI/UX and graphics designers, cheerleaders, and dreamers.<br />
<br />
We observe the [https://www.djangoproject.com/conduct/ Django code of conduct]. Be welcoming, friendly, and patient!<br />
<br />
This wiki covers a variety of ways that you can get involved with MediaGoblin as well as instructions on how to get started.<br />
<br />
<br />
== Hang out with the MediaGoblin folk ==<br />
<br />
MediaGoblin has a mailing list and an IRC channel where we hang out. See [http://mediagoblin.org/pages/join.html our join page] for links.<br />
<br />
Please drop by and say “Hi!” And, if you’re looking for something to do, just ask---there’s always work to be done.<br />
<br />
<br />
== Take Part in the Monthly Meetings ==<br />
<br />
Each month is a [[:Meeting|Meeting]]. You can take part and help decide on the future of MediaGoblin. Or just be around and see what's happening live!<br />
<br />
=How Can you help ?=<br />
<br />
First and foremost, for many (but not all) types of contributions you may want to set up a local instance. To learn how to do this, see the [[HackingHowto]] page. (If you're not familiar with command line level things, there are still ways you can help below!)<br />
<br />
== File Bugs / Triage Bugs ==<br />
<br />
Issue reports are critical for all projects. Identified bugs give developers a basis for beginning work, and providing an idea of what features and issues are most important to users and the overall usability of the software. If you identify errors, flaws, unexpected behaviors, or deficits that impede use, file a bug.<br />
<br />
* [[File Bugs]] -- notes on filing new bugs/issues/feature requests<br />
* [[Feature Ideas]] -- notes on possible features<br />
* [[Triage Bugs]] -- notes on triaging<br />
* [[BugTriageDay]] -- every other Thursday is bug triage day where anyone can help out triaging bugs<br />
<br />
<br />
== Send Encouragement / Spread the Word ==<br />
<br />
Sometimes, a nice word, simple encouragement, and interest in the work we’re doing is enough to inspire a tizzy of productive work. Just a bit more interest and encouragement can even make the difference between a complete feature and limited functionality; between a completed milestone and lost momentum.<br />
<br />
Similarly, MediaGoblin, and the movement for free network services, is always in need of encouragement. Use free network services, understand the principals behind the movement, be able to articulate the benefits of free network services and the problems with psudo-free applications that don’t respect the users’ freedom.<br />
<br />
Write a blog post, post a status update, drop by the listserv or join #mediagoblin on freenode.net and let us know. See [http://mediagoblin.org/join/ our join page] for links.<br />
<br />
<br />
== Write Documentation / Edit Documentation ==<br />
<br />
* [[Documentation quick start]] - How to contribute to the documentation effort.<br />
* [[ManualStandards]] - covers the standards for writing the user manual (forthcoming.) <br />
<br />
<br />
== Test MediaGoblin ==<br />
<br />
Do you have access to the web? Do you like sharing your opinions? If so, we need your help to test MediaGoblin! Testers play around with the current test instance, note what operating system and browser they use (notes on multiple set-ups are also helpful) and take some notes. That's it! It's a very important task that doesn't require any special knowledge and you're done in under an hour. Ready to help? <br />
<br />
* [[User Experience]] - user experience testing. Includes link to an instance you can try!<br />
* [[UnitTests|Unit Tests]] - all about the unit tests<br />
* [[Manual_Functional_Testing|Manual Functional Testing]] - a great way to get to know MediaGoblin.<br />
<br />
<br />
== Translate MediaGoblin ==<br />
<br />
If you know English and another language and feel comfortable translating elements of the interface or even the documentation, we’d love to have help translating the software and resources.<br />
Translating MediaGoblin is very easy with a web interface, so there is no programming knowledge required at all.<br />
<br />
* [[Translations]] - How to translate stuff or update the translations<br />
<br />
== Become a User ==<br />
<br />
Coming soon!<br />
<br />
We’re building MediaGoblin for us and for you but really you’re one of us and I am you and we are we and MediaGoblin is the walrus.<br />
<br />
We're planning to launch our own public instance of MediaGoblin in the near future--probably in the September/October 2011 time frame. When we do, sign up for an account, use the service and relish in the thought that this service comes with a heaping side of Freedom and you can salt and pepper it to your liking.<br />
<br />
<br />
== Help Others ==<br />
<br />
Have you spent time with MediaGoblin? If so, your experience and wisdom are invaluable and you’re the best person we can think of to help other users with their questions.<br />
<br />
Hang out on the IRC channel and help answer new peoples' questions. See [http://mediagoblin.org/join/ our join page] for links.<br />
<br />
<br />
== Run your own MediaGoblin Instance ==<br />
<br />
Are there things about our instance you want to change? Are there things about other instances you wish were different? Want to test upcoming changes? Want to create patches to implement things you need? That’s great—you can run your own instance!<br />
<br />
The primary documentation for this is at [http://docs.mediagoblin.org http://docs.mediagoblin.org] but here are some additional tips:<br />
<br />
* [[Configure_MediaGoblin|Configuration]] - Learn about MediaGoblin configuration files and file options.<br />
* [[Deployment]] - General deployment advice<br />
* [[Scaling Down]] - Minimizing MediaGoblin's resource requirements<br />
* [[Virtual Machine Hosting]] - Deploy your own publicly available MediaGoblin server using [http://aws.amazon.com/free/?utm_source=adwords&utm_medium=cpc&utm_campaign=CPC_Google_AWS_ec2&utm_content=TextV01_PP_V01_EC2&trk=CPC_Google_AWS_ec2 Amazon's free EC2 tier].<br />
<br />
= Technical project documentation =<br />
<br />
The technical docs, that are more finished and the ones that are better maintained near the code (so they stay up to date) are in the more technical chapters of the [http://docs.mediagoblin.org/ main documentation].<br />
* [[Storage]] - How MediaGoblin's internal storage system works.<br />
* [[Processing]] - What happens after you submit your image/video/etc? Processing! More about that.<br />
* [https://gitorious.org/mediagoblin/mediagoblin/blobs/master/extlib/README External Library Policy] - covers use of external libraries<br />
* [[User:Cwebber/braindumps]] - Chris Webber's braindumps (you can help refactoring these into real sections of the site!)<br />
* [[Multiple media support]] - Design plan for multiple media support<br />
<br />
== Write Code / Fix Code ==<br />
<br />
MedaGoblin development is premised on the idea that the entire interface for the platform be completely theme-able. If you have a design or theming background, consider developing themes for MediaGoblin. New themes help test the theming system, provide attractive and appealing interfaces for prospective users. If you want to start a new theme but don’t know where to start, touch base with the development community on the list or in the IRC channel for more information.<br />
<br />
If you are a coder and you would like to write code, the repository is hosted on gitorious. Clone or fork the repository and start poking around. Become familiar with this manual for an overview of how the software works and is used. Consider the contributor wiki for more information about the project, our preferred methods, and guides for developing MediaGoblin. We even have tips on becoming a coder and we’re willing to help!<br />
<br />
* [[HackingHowto|Hacking]] - notes on making and sending in code contributions<br />
** [[BeginnersCorner|Beginner's Corner]] - resources for those who are new to Python or Git.<br />
** ''Started from an older version of the Hacking Howto? We switched from buildout->virtualenv, so look at [[Moving from buildout to virtualenv]] for information on how to move over.''<br />
* [[Git workflow]] - How to go about submitting patches via git.<br />
* [[Code review tips]] - Tips on how to go about doing local code review<br />
* [[Templating]] - How our templating structure is set up<br />
* [[Code overview]] - Overview of the structure of the codebase<br />
<br />
== Create a Theme ==<br />
<br />
See [http://docs.mediagoblin.org/siteadmin/theming.html the theming docs]<br />
<br />
== Write a plugin ==<br />
<br />
If you start, you'll find some basic documentation [http://docs.mediagoblin.org/#part-4-developer-s-zone| in the docs site]<br />
<br />
You've made a plugin ? List it here : <br />
<br />
[[Available_Plugins|Available plugins]]<br />
<br />
You've written a plugin ? You got some tips to share ? A tutorial idea ? Please do :<br />
<br />
[[PluginsTips|Plugins Tips]]<br />
<br />
= Misc =<br />
<br />
== Android client ==<br />
<br />
See [[Android Client]]<br />
<br />
= Inner workings of the secret sanctum =<br />
<br />
* [[IRCBot]] - covers our irc bot<br />
* [[ReleaseProcess|Release Process]] - covers the release process<br />
* [[Update the website]] - Learn how to update mediagoblin.org!<br />
<br />
=FAQ=<br />
<br />
[[GMG FAQ]]</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Main_Page&diff=1587Main Page2014-09-21T17:35:51Z<p>Ayleph: Undo revision 1586 by Anitra2502 (talk)</p>
<hr />
<div><br />
<br />
คอบอลลีกต่างๆพากันดู [http://www.bestballwin.com สายบอล] ที่เว็บนี้และติดตามข่าว ดัชนีนิกเกอิปรับตัวลดลงปิดในแดนลบเป็นวันที่ 5 ติดต่อกัน และปิดที่ระดับต่ำสุดในรอบประมาณ 1 เดือนครึ่ง ในวันนี้ หลังจากตัวเลขจ้างงานสหรัฐที่มีการเปิดเผยเมื่อวันศุกร์ที่ผ่านมาได้จุดชนวนความวิตกกังวลเกี่ยวกับการฟื้นตัวของเศรษฐกิจสหรัฐ<br>สำนักข่าวเกียวโดรายงานว่า ดัชนีนิกเกอิตลาดหุ้นโตเกียวร่วงลง 142.19 จุด หรือ 1.47% ปิดที่ 9,546.26 จุด ซึ่งเป็นระดับปิดต่ำสุดนับตั้งแต่วันที่ 21 ก.พ.เป็นต้นมา โดยหุ้นทั้ง 33 กลุ่มปรับตัวลง นำโดยหุ้นกลุ่มประกัน ตามด้วยกลุ่มเหมืองแร่และโลหะนอกกลุ่มเหล็ก<br>โบรกเกอร์กล่าวว่า ดัชนีนิกเกอิร่วงลงสู่ระดับ 9,500 จุดเป็นครั้งแรกในรอบกว่าหนึ่งเดือน หลังจากที่กระทรวงแรงงานสหรัฐเปิดเผยเมื่อวันศุก[http://Www.Bing.com/search?q=%E0%B8%A3%E0%B9%8C%E0%B8%A7%E0%B9%88%E0%B8%B2&form=MSNNWS&mkt=en-us&pq=%E0%B8%A3%E0%B9%8C%E0%B8%A7%E0%B9%88%E0%B8%B2 ร์ว่า] ตัวเลขจ้างงานนอกภาคเกษตรเพิ่มขึ้น 120,000 ตำแหน่งในเดือนมี.ค. ซึ่งน้อยกว่าคาดการณ์ของนักเศรษฐศาสตร์ส่วนใหญ่ที่ว่าจะเพิ่มขึ้น 203,000 ตำแหน่ง และต่ำกว่าค่าเฉลี่ยในช่วง 3 เดือนก่อนที่ 246,000 ตำแหน่ง<br>นอกจากนี้ ตลาดหุ้นโตเกียวยังได้รับแรงกดดันจากเงินเยนที่แข็งค่าขึ้นหลังจากที่มีการเปิดเผยข้อมูลดังกล่าว โดยเงินดอลลาร์สหรัฐมีการซื้อขายอยู่ใน[http://Search.Un.org/search?ie=utf8&site=un_org&output=xml_no_dtd&client=UN_Website_en&num=10&lr=lang_en&proxystylesheet=UN_Website_en&oe=utf8&q=%E0%B8%8A%E0%B9%88%E0%B8%A7%E0%B8%87&Submit=Go ช่วง] 81 เยนกลางๆ เมื่อเทียบกับระดับ 82 เยนกลางๆ ในการซื้อขายเมื่อวันศุกร์ที่แล้ว ขณะที่ยูโรเคลื่อนไหวในช่วง 106 เยนกลางๆ เทียบกับ 107 เยนปลายๆ ในสัปดาห์ก่อน</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Available_Plugins&diff=1584Available Plugins2014-09-19T07:20:42Z<p>Ayleph: /* Third party plugins */ Added Piwik plugin</p>
<hr />
<div>= A list of Available Plugins for MediaGoblin =<br />
<br />
==Core plugins ==<br />
<br />
The core plugins are available right away with your mediaboblin instance, they are not necessarily activated by default, tho. Please check the [http://docs.mediagoblin.org/siteadmin/plugins.html plugin documentation] to learn how to activate them.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Options !! Usage !! Doc !! Author<br />
|-<br />
| api || || || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| basic_auth || || || || <br />
|-<br />
| flatpagesfile || || It allows you to add pages to your MediaGoblin instance which are not generated from user content || [http://docs.mediagoblin.org/plugindocs/flatpagesfile.html doc] ||<br />
|-<br />
| geolocation || || || || <br />
|-<br />
| httpapiauth|| || Enables [http://en.wikipedia.org/wiki/Basic_access_authentication HTTP basic authentication] for the API || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| ldap || || || || <br />
|-<br />
| oauth || || The [http://en.wikipedia.org/wiki/Oauth oauth] plugin enables third party web applications to authenticate as one or more GNU MediaGoblin users ||[http://docs.mediagoblin.org/plugindocs/oauth.html doc] || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| openid || || || || <br />
|-<br />
| persona || || || || <br />
|-<br />
| piwigo || || Provides a Piwigo-compatible API || || <br />
|-<br />
| raven || || Support [http://www.getsentry.com/ Sentry] via Raven || [http://docs.mediagoblin.org/plugindocs/raven.html doc] ||<br />
|-<br />
| sampleplugin || || Dummy plugin for example purpose || ||<br />
|-<br />
| trim_whitespace|| || This plugin inserts a Middleware that filters out whitespace from the returned HTML in the Response() objects.||[http://docs.mediagoblin.org/plugindocs/trim_whitespace.html doc] ||<br />
|}<br />
<br />
== Third party plugins==<br />
<br />
Those plugins have been made by various contributors to extend mediagoblin's possibilities<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! What !! Options !! Doc !! How to get it ? !! Author<br />
|-<br />
| mediagoblin-licenses || Extend or replace the default license list ||<br />
* Append to existing list (true/false)<br />
* Licence list<br />
|| || pip install mediagoblin-licenses ||<br />
|-<br />
|[https://github.com/Velmont/gmg_localfiles gmg_localfiles] || Import files from your local filesystem without duplicating them. || || [https://github.com/Velmont/gmg_localfiles/blob/master/README.md doc] || git clone https://github.com/Velmont/gmg_localfiles.git || odinho/Velmont<br />
|-<br />
|[https://github.com/commonsmachinery/mediagoblin_svg mediagoblin_svg] || SVG image support || Display previews and thumbnails as SVG || || Check README ||<br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-hidden_original mediagoblin-hidden_original] || Hidden original || Give original upload a secret url, only publish downsized version || || pip install mediagoblin-hidden_original || [[User:Unhammer|Unhammer]] <br />
|-<br />
|[https://github.com/ayleph/mediagoblin-recaptcha mediagoblin-recaptcha] || [https://www.google.com/recaptcha Google reCAPTCHA] support || Enable reCAPTCHA on registration form over http/https || [https://github.com/ayleph/mediagoblin-recaptcha/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-recaptcha.git || [[User:Ayleph|ayleph]]<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-piwik mediagoblin-piwik] || [https://piwik.org Piwik] support || || [https://github.com/ayleph/mediagoblin-piwik/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-piwik.git || [[User:Ayleph|ayleph]]<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
You're working on a plugin but it's not ready ? Please let us know, cause if someone wants to make the same feature, this person will help you rather than doing the same thing from scratch ! <br />
<br />
{| class="wikitable"<br />
|-<br />
! Temporary name !! Planned features !! Repo or a place to see the WIP !! Author !! Status<br />
|-<br />
| Raw file support for GMG ||<br />
* Support NEF, '''done'''<br />
* Support CR2<br />
* Investigate support for other formats (if they include full-quality JPEG inside the file)<br />
|| https://github.com/Velmont/mediagoblin/tree/raw_image_mediatype || odinho/Velmont ||<br />
|-<br />
| [https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/trees/WIP/tag_cloud_plugin Tag Cloud] || Add a tag cloud feature for your templates || git clone git://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin.git HEAD:WIP/tag_cloud_plugin || Spaetz || [http://www.media.sspaeth.de/u/spaetz/ It works] but still needs core modifications.<br />
|-<br />
| Image property export for use externally ||<br />
* Basically, this would allow other sites (WordPress, etc.) to use their own plugins to easily grab image properties (description, name, url, alt text, license) for automatic insertion.<br />
* Include additional image properties (eg. alt text, short description) for scraping.<br />
|| [none] || exhipigeonist || Absolutely no work and very little planning. Currently no more than an idea I'd like to work on later if I get time, in conjunction with a WordPress plugin that would utilise it, of course.<br />
|- <br />
| HTML5-Multiupload || Adds a the html5 multifile input to the submit form || https://github.com/VenKamikaze/mediagoblin-html5-multi-upload<br />
|| kamikaze-m || Working on 0.4.1, but needs proper review. Test and report bugs, it might not work, but it's absolutly harmless to your MG instance <br />
|-<br />
| [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP] || Allows uploading of XCF images and GIMP resources (palettes, patterns, curves, gradients, brushes, dynamics, and tool presets). Thumbnails and previews are generated by an instance of GIMP running headlessly as a daemon. || [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP docs and code repository] [http://barn.kerosenecow.net/ Instance featuring GIMP media]|| saulgoode || Nearing completion. Still needs to be packaged for easier deployment.<br />
|-<br />
|[https://github.com/commonsmachinery/mg-rdfa mg-rdfa] || Embedding image metadata as RDFa || https://github.com/commonsmachinery/mg-rdfa || artfwo || Experimental, only SVG images are supported at the moment. <br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-purchase mediagoblin-purchase] || Purchase button || https://gitorious.org/mediagoblin-stock/mediagoblin-purchase || [[User:Unhammer|Unhammer]] || Just started <br />
|-<br />
|[https://github.com/sebastiansam55/uploadurl uploadurl] || Upload Images via URL instead of file || https://github.com/sebastiansam55/uploadurl || sebastiansam55 || Works when using browser that is logged in. Needs to use oauth or similar<br />
|}</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Deployment&diff=1579Deployment2014-09-09T07:11:19Z<p>Ayleph: /* Init scripts */ added systemd scripts</p>
<hr />
<div>This page could use a lot of work. For now, a few smaller deployment tips!<br />
<br />
See also: http://docs.mediagoblin.org/deploying.html (some of which may belong here)<br />
<br />
= uwsgi =<br />
<br />
Possibly a cleaner way to do nginx configuration than the official nginx + fastcgi suggestions!<br />
<br />
http://qalthos.github.io/blog/FOSS@RIT/deploying-mediagoblin-1-fastcgi-vs-uwsgi.html<br />
<br />
= uwsgi with configs =<br />
<br />
Below there are 3 configs: for nginx, for uwsgi version 1.2.3-debian and for supervisord, used to run celery.<br />
<br />
In future, when newer versions of uwsgi appear in debian, supervisor can be removed.<br />
<br />
All instructions below are for Debian 7. They should also work with rpm-based systems, but with other paths.<br />
<br />
<pre>apt-get install uwsgi uwsgi-plugin-python nginx-full supervisor;</pre><br />
<br />
/etc/nginx/sites-available/mediagoblin:<br />
<pre><br />
server {<br />
server_name <domain>;<br />
<br />
access_log /var/log/nginx/mg.access.log;<br />
error_log /var/log/nginx/mg.error.log error;<br />
<br />
#include global/common.conf;<br />
<br />
client_max_body_size 100m;<br />
add_header X-Content-Type-Options nosniff;<br />
<br />
root /path/to/mediagoblin//user_dev/;<br />
<br />
location /mgoblin_static/ {<br />
alias /path/to/mediagoblin/mediagoblin/static/;<br />
}<br />
location /mgoblin_media/ {<br />
alias /path/to/mediagoblin/user_dev/media/public/;<br />
}<br />
location /theme_static/ {<br />
}<br />
location /plugin_static/ {<br />
}<br />
location / {<br />
uwsgi_pass unix:///tmp/mg.uwsgi.sock;<br />
uwsgi_param SCRIPT_NAME "/";<br />
include uwsgi_params;<br />
}<br />
}<br />
</pre><br />
<br />
/etc/uwsgi/apps-available/mg.yaml:<br />
<pre><br />
uwsgi:<br />
uid: mediagoblin<br />
gid: mediagoblin<br />
socket: /tmp/mg.uwsgi.sock<br />
chown-socket: www-data:www-data<br />
plugins: python<br />
home: /path/to/mediagoblin/<br />
chdir: /path/to/mediagoblin/<br />
ini-paste: /path/to/mediagoblin/paste_local.ini<br />
</pre><br />
<br />
/etc/supervisor/conf.d/mediagoblin.conf:<br />
<pre><br />
[program:celery]<br />
command=/path/to/mediagoblin/bin/celery worker -l debug<br />
<br />
; Set PYTHONPATH to the directory containing celeryconfig.py<br />
environment=PYTHONPATH="/path/to/mediagoblin",MEDIAGOBLIN_CONFIG="/path/to/mediagoblin/mediagoblin_local.ini",CELERY_CONFIG_MODULE="mediagoblin.init.celery.from_celery"<br />
<br />
directory=/path/to/mediagoblin/<br />
user=mediagoblin<br />
numprocs=1<br />
; uncomment below to enable logs saving<br />
;stdout_logfile=/some/logs/path/celeryd_stdout.log<br />
;stderr_logfile=/some/logs/path/celeryd_stderr.log<br />
autostart=true<br />
autorestart=false<br />
startsecs=10<br />
<br />
; Need to wait for currently executing tasks to finish at shutdown.<br />
; Increase this if you have very long running tasks.<br />
stopwaitsecs = 600<br />
</pre><br />
<br />
After setting all configs do:<br />
<pre><br />
ln -s /etc/nginx/sites-available/mediagoblin /etc/nginx/sites-enabled/<br />
ln -s /etc/uwsgi/apps-available/mg.yaml /etc/uwsgi/apps-enabled/<br />
</pre><br />
<br />
= FCGI script =<br />
<br />
This works great with the apache FCGID config example in the next section :) in which case you should name it "mg.fcgi".<br />
<br />
Before use, make sure you replace '/path/to/mediagoblin/bin/python' with a real path on your server, e.g. '/srv/www/myhomepage.com/mediagoblin/bin/python'. Also replace '/path/to/mediagoblin/paste.ini'.<br />
<br />
If you encounter problems, try executing executing the script manually, e.g. <pre>./mg.fcgi</pre><br />
<br />
Script:<br />
<br />
<pre>#!/path/to/mediagoblin/bin/python<br />
<br />
# Written in 2011 by Christopher Allan Webber<br />
#<br />
# To the extent possible under law, the author(s) have dedicated all<br />
# copyright and related and neighboring rights to this software to the<br />
# public domain worldwide. This software is distributed without any<br />
# warranty.<br />
# <br />
# You should have received a copy of the CC0 Public Domain Dedication along<br />
# with this software. If not, see<br />
# <http://creativecommons.org/publicdomain/zero/1.0/>.<br />
<br />
from paste.deploy import loadapp<br />
from flup.server.fcgi import WSGIServer<br />
<br />
CONFIG_PATH = '/path/to/mediagoblin/paste.ini'<br />
<br />
## Uncomment this to run celery in "always eager" mode... ie, you don't have<br />
## to run a separate process, but submissions wait till processing finishes<br />
# import os<br />
# os.environ['CELERY_ALWAYS_EAGER'] = 'true'<br />
<br />
def launch_fcgi():<br />
ccengine_wsgi_app = loadapp('config:' + CONFIG_PATH)<br />
WSGIServer(ccengine_wsgi_app).run()<br />
<br />
<br />
if __name__ == '__main__':<br />
launch_fcgi()</pre><br />
<br />
= Apache 2 Config With fcgid =<br />
<br />
Note that the libapache2-mod-fcgi in Debian is in the main section. libapache2-mod-fcgid can be used, but requires a slightly different configuration. For yum-based distributions, you may need to install mod_fcgid. <br />
<br />
<VirtualHost *:80><br />
Options +ExecCGI<br />
<br />
# Accept up to 16MB requests<br />
FcgidMaxRequestLen 16777216<br />
<br />
ServerName mediagoblin.example.org<br />
<br />
Alias /mgoblin_static/ /path/to/mediagoblin/mediagoblin/static/<br />
Alias /mgoblin_media/ /path/to/mediagoblin/user_dev/media/public/<br />
<br />
ScriptAlias / /path/to/mediagoblin/mg.fcgi/<br />
</VirtualHost><br />
<br />
= Apache 2 Config With mod_wsgi =<br />
<br />
Apache can manage the MediaGoblin application itself with mod_wsgi. It requires slightly more configuration on the Apache side, but cuts out the FastCGI middleware. See their [http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines configuration guidelines] for advanced configuration.<br />
<br />
<VirtualHost *:80><br />
ServerName mediagoblin.example.org<br />
<br />
Alias /mgoblin_static/ /path/to/mediagoblin/mediagoblin/static/<br />
Alias /mgoblin_media/ /path/to/mediagoblin/user_dev/media/public/<br />
<br />
WSGIScriptAlias / /path/to/mediagoblin/wsgi.py<br />
# Set user and group to whatever user you used to install mediagoblin (if you used a system account, <br />
# it may have the group 'nogroup' assigned, in that case you can remove the group parameter)<br />
# Remember to change python-path too!<br />
# Replace the python version in the 'python-path' below with the correct one (eg 2.x -> 2.7)<br />
WSGIDaemonProcess gmg user=mediagoblin group=mediagoblin processes=2 threads=10 \<br />
umask=0007 inactivity-timeout=900 maximum-requests=1000 \<br />
python-path=/path/to/mediagoblin/:/path/to/mediagoblin/lib/python-2.x/site-packages/<br />
WSGIProcessGroup gmg<br />
WSGIApplicationGroup %{GLOBAL}<br />
<br />
<Directory "/path/to/mediagoblin/mediagoblin/static/"><br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<Directory "/path/to/mediagoblin/user_dev/media/public"><br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
</VirtualHost><br />
<br />
You'll also need to copy this into /path/to/mediagoblin/wsgi.py:<br />
<br />
#!/path/to/mediagoblin/bin/python<br />
<br />
# Written in 2011 by Christopher Allan Webber<br />
#<br />
# To the extent possible under law, the author(s) have dedicated all<br />
# copyright and related and neighboring rights to this software to the<br />
# public domain worldwide. This software is distributed without any<br />
# warranty.<br />
# <br />
# You should have received a copy of the CC0 Public Domain Dedication along<br />
# with this software. If not, see<br />
# <http://creativecommons.org/publicdomain/zero/1.0/>.<br />
<br />
<br />
import site<br />
# Replace the python version with the correct one in the line below (eg 2.x -> 2.7)<br />
site.addsitedir('/path/to/mediagoblin/lib/python-2.x/site-packages')<br />
<br />
<br />
from paste.deploy import loadapp<br />
<br />
CONFIG_PATH = '/path/to/mediagoblin/paste.ini'<br />
<br />
## Uncomment this to run celery in "always eager" mode... ie, you don't have<br />
## to run a separate process, but submissions wait till processing finishes<br />
#import os<br />
#os.environ['CELERY_ALWAYS_EAGER'] = 'true'<br />
<br />
application = loadapp('config:' + CONFIG_PATH)<br />
<br />
= Apache Config Example =<br />
This configuration example uses mod_fastcgi.<br />
<br />
To install and enable mod_fastcgi on a Debian/Ubuntu based system:<br />
<pre># apt-get install libapache2-mod-suexec libapache2-mod-fastcgi<br />
# a2enmod suexec<br />
# a2enmod fastcgi</pre><br />
<br />
Sample configuration:<br />
<pre><br />
<VirtualHost *:80><br />
ServerName mediagoblin.yourdomain.tld<br />
ServerAdmin webmaster@yourdoimain.tld<br />
DocumentRoot /var/www/<br />
# Custom log files<br />
CustomLog /var/log/apache2/mediagobling_access.log combined<br />
ErrorLog /var/log/apache2/mediagoblin_error.log<br />
<br />
# Serve static and media files via alias<br />
Alias /mgoblin_static/ /path/to/mediagoblin/mediagoblin/static/<br />
Alias /mgoblin_media/ /path/to/mediagoblin/user_dev/media/public/<br />
<br />
# Rewrite all URLs to fcgi, except for static and media urls<br />
RewriteEngine On<br />
RewriteRule ^(mgoblin_static|mgoblin_media)($|/) - [L]<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteRule ^/(.*)$ /mg.fcgi/$1 [QSA,L]<br />
<br />
# Allow access to static and media directories<br />
<Directory /path/to/mediagoblin/mediagoblin/static><br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<Directory /path/to/mediagoblin/mediagoblin/user_dev/media/public><br />
Order allow,deny<br />
Allow from all<br />
</Directory><br />
<br />
# Connect to fcgi server<br />
FastCGIExternalServer /var/www/mg.fcgi -host 127.0.0.1:26543<br />
</VirtualHost><br />
</pre><br />
Then, you need to make sure mediagoblin is running in fcgi mode:<br />
<pre>cd /path/to/mediagoblin<br />
./lazyserver.sh --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543</pre><br />
<br />
Note: there may be several ways to improve this configuration<br />
<br />
If it is too slow and you use the deflate module, you could try to use the following option : SetOutputFilter INFLATE<br />
<br />
= Lighttpd =<br />
<br />
This configuration example uses mod_fastcgi.<br />
Make a symbolic link from <pre>/etc/lighttpd/conf-available/10-fastcgi.conf</pre> to <pre>/etc/lighttpd/conf-enabled/10-fastcgi.conf</pre><br />
<br />
<pre><br />
ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled/10-fastcgi.conf<br />
</pre><br />
<br />
then edit your /etc/lighttpd/conf-enabled/10-fastcgi.conf file modifying it as below to serve mediagoblin on the /tube/ path of your webserver.<br />
<br />
<pre><br />
## FastCGI programs have the same functionality as CGI programs,<br />
## but are considerably faster through lower interpreter startup<br />
## time and socketed communication<br />
##<br />
## Documentation: /usr/share/doc/lighttpd-doc/fastcgi.txt.gz<br />
## http://www.lighttpd.net/documentation/fastcgi.html<br />
<br />
server.modules += ( "mod_fastcgi" )<br />
<br />
## Start an FastCGI server for mediagoblin (lazyserver.sh or other deployments scripts should be up and running)<br />
fastcgi.server = (<br />
# url at which the app should be accessible on the server<br />
"/tube" =><br />
# mnemonical name of the backend<br />
( "mg-local" => (<br />
"host" => "127.0.0.1",<br />
"port" => 6543,<br />
"docroot" => "/path/to/mediagoblin-git-folder/mediagoblin",<br />
"check-local" => "disable"<br />
)<br />
)<br />
<br />
)<br />
</pre><br />
<br />
Then open your /etc/lighttpd/lighttpd.conf and add the configuration to serve directly the static/public folders<br />
<br />
<pre><br />
alias.url += (<br />
"/mgoblin_static/" => "/path/to/mediagoblin-git-folder/mediagoblin/static/",<br />
"/mgoblin_media/" => "/path/to/mediagoblin-git-folder/user_dev/media/public/",<br />
"/theme_static/" => "/path/to/mediagoblin-git-folder/user_dev/theme_static/",<br />
"/plugin_static/" => "/path/to/mediagoblin-git-folder/user_dev/plugin_static/"<br />
)<br />
<br />
</pre><br />
<br />
Done!<br />
<br />
= OpenShift =<br />
<br />
Thers's a blogpost saying how to [http://www.sud0.com/gnu-media-goblin-on-openshift.html install mediagoblin on openshift].<br />
<br />
= Juju =<br />
<br />
There is a juju [https://juju.ubuntu.com/Charms charm] available for deploying mediagoblin into EC2 or on your local box. [https://juju.ubuntu.com/ juju] is available in Ubuntu 11.10 and later, though it is recommended that you pull it from [https://launchpad.net/~juju/+archive/pkgs the juju PPA], which includes backported packages going back to Ubuntu 11.10. To use the juju charm, install juju and configure either the [https://juju.ubuntu.com/docs/provider-configuration-local.html local provider] or one of the cloud API providers, currently the [https://juju.ubuntu.com/docs/provider-configuration-ec2.html EC2 provider] is the best supported and works not only with Amazon Web Services but also OpenStack clouds. There is also a newer native OpenStack API provider which is known to support HP Cloud.<br />
<pre><br />
# if you have not bootstrapped<br />
juju bootstrap<br />
mkdir ~/charms<br />
bzr init-repo ~/charms/precise<br />
bzr branch lp:~clint-fewbar/charms/precise/mediagoblin/trunk ~/charms/precise/mediagoblin<br />
juju deploy --repository ~/charms local:mediagoblin<br />
juju expose mediagoblin<br />
</pre><br />
<br />
Currently the charm is volatile, deploying from trunk, and deploys a single-server version of MediaGoblin only. It will eventually relate to the existing juju charms for other supported data stores to allow one to scale out their MediaGoblin instance.<br />
<br />
= Init scripts =<br />
<br />
== Debian init scripts ==<br />
<br />
Joar has some scripts for running celery and mediagoblin separately that are designed for Debian.<br />
<br />
https://github.com/joar/mediagoblin-init-scripts<br />
<br />
== Arch Linux init scripts ==<br />
<br />
[http://whird.jpope.org/2012/04/14/mediagoblin-archlinux-rcd-scripts Jeremy Pope has written a nice blogpost] on how to add init scripts to deploy MediaGoblin with both the python paste http server and the celery deployments separated.<br />
<br />
If you want a simpler setup and don't want to deploy celery separately, consider either turning CELERY_ALWAYS_EAGER to true in the paste init script described above, or check out [http://chimo.chromic.org/2012/03/01/mediagoblin-init-script-on-archlinux/ Chimo's guide].<br />
<br />
<br />
<br />
== Generic, simple init script ==<br />
<br />
This is a super stupidly simple init script that was used for mediagoblin.com... note that this has Celery running in always eager mode.<br />
<br />
You will need to adjust the paths appropriately. This could probably be better written!<br />
<br />
#! /bin/sh<br />
<br />
## Stupidly simple mediagoblin init script.<br />
# <br />
# Written in 2012 by Christopher Allan Webber<br />
#<br />
# To the extent possible under law, the author(s) have dedicated all<br />
# copyright and related and neighboring rights to this software to the<br />
# public domain worldwide. This software is distributed without any<br />
# warranty.<br />
# <br />
# You should have received a copy of the CC0 Public Domain Dedication along<br />
# with this software. If not, see<br />
# <http://creativecommons.org/publicdomain/zero/1.0/>.<br />
<br />
PASTER=/srv/mediagoblin.com/bin/paster<br />
PASTE_CONFIG=/srv/mediagoblin.com/paste.ini<br />
OPTIONS="--pid-file=/tmp/mediagoblin.pid \<br />
--log-file=/srv/mediagoblin.com/paster.log \<br />
--server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543"<br />
<br />
CELERY_ALWAYS_EAGER=true su -pc "$PASTER serve $PASTE_CONFIG $1 $OPTIONS" webadmin<br />
<br />
== systemd init scripts ==<br />
<br />
The following systemd scripts provide separate Paste and Celery instances. Replace <code>/path/to/mediagoblin</code> to match your install path. The directories <code>/var/log/mediagoblin</code> and <code>/var/run/mediagoblin</code> are not created by default; you may create them yourself or change the location of the pid and log files. You may omit the log file if you choose. The init scripts provided below assume customized versions of mediagoblin.ini and paste.ini have been created as mediagoblin_local.ini and paste_local.ini, respectively; you should change those lines to point back to the original mediagoblin.ini or paste.ini files if you haven't made customizations.<br />
<br />
If you prefer not to run separate Celery, uncomment <code>Environment=CELERY_ALWAYS_EAGER=true</code> and comment <code>Environment=CELERY_ALWAYS_EAGER=false</code>. You won't need the file <code>/etc/systemd/system/gmg-celery.service</code>.<br />
<br />
<code>/etc/systemd/system/gmg.service</code>:<br />
<br />
[Unit]<br />
Description=Mediagoblin<br />
<br />
[Service]<br />
Type=forking<br />
User=mediagoblin<br />
Group=mediagoblin<br />
#Environment=CELERY_ALWAYS_EAGER=true<br />
Environment=CELERY_ALWAYS_EAGER=false<br />
WorkingDirectory=/path/to/mediagoblin<br />
ExecStart=/path/to/mediagoblin/bin/paster serve \<br />
/path/to/mediagoblin/paste_local.ini \<br />
--pid-file=/var/run/mediagoblin/paster.pid \<br />
--log-file=/var/log/mediagoblin/paster.log \<br />
--daemon \<br />
--server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543<br />
ExecStop=/path/to/mediagoblin/bin/paster serve \<br />
--pid-file=/var/run/mediagoblin/paster.pid \<br />
/path/to/mediagoblin/paste_local.ini stop<br />
PIDFile=/var/run/mediagoblin/mediagoblin.pid<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
<code>/etc/systemd/system/gmg-celeryd.service</code>:<br />
<br />
[Unit]<br />
Description=Mediagoblin Celeryd<br />
<br />
[Service]<br />
User=mediagoblin<br />
Group=mediagoblin<br />
Type=simple<br />
WorkingDirectory=/path/to/mediagoblin<br />
Environment="MEDIAGOBLIN_CONFIG=/path/to/mediagoblin/mediagoblin_local.ini" \<br />
CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery<br />
ExecStart=/path/to/mediagoblin/bin/celeryd<br />
PIDFile=/var/run/mediagoblin/mediagoblin-celeryd.pid<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
<br />
Invoke the Paste or Celery processes using systemctl. Eg,<br />
<br />
$ sudo systemctl start|stop|restart gmg.service<br />
<br />
$ sudo systemctl start|stop|restart gmg-celeryd.service<br />
<br />
= Running on Dreamhost.com =<br />
<br />
===Set up your python virtualenv===<br />
<br />
dreamhost.com servers come with python 2.4 and 2.5 installed which is too old for mediagoblin. This means you need to compile and install a newer python (don't worry this is really not difficult on dreamhost servers). In order to be able to install python packages for a local user without touching system files, we need to setup a python ''virtualenv''. Fortunately, this is not too tricky either. If your server has python 2.6 or 2.7 installed already, you can skip the [[#Install a local python|python installation stuff]] and you'll only need to [[#Setup virtualenv to install local python packages|install virtualenv]].<br />
<br />
====Install a local python====<br />
# Download the latest python: http://python.org/ftp/python/XXX/Python-XXX.tar.bz2<br />
# Unpack with <pre>tar xvjf Python-XXX.tar.bz2</pre><br />
# ''cd'' into the directory and compile and install python locally:<br />
<blockquote><pre>./configure --prefix=$HOME/local<br />
make<br />
make install</pre></blockquote><br />
:This will install python (I used 2.7.3) into /home/<USERNAME>/local/bin/python. You might get warnings about some modules not being able to compile. :It was tcl/tk and bzip2 mainly, but things still worked out overall.<br />
:<br />
:You should now be able to invoke <tt>~/local/bin/python</tt> and fall into a shell of your new python (exit with ctrl-d). Congrats, you have now a new python 2.7 that you can use. However, you will need to be able to install additional packages as a user and this is what virtualenv allows.<br />
<br />
====Setup virtualenv to install local python packages====<br />
# Download the latest virtualenv: http://pypi.python.org/packages/source/v/virtualenv/XXX<br />
# Install the virtualenv: <blockquote><pre>~/local/bin/python ~/virtualenv-1.8/virtualenv.py $HOME/local/virtenv</pre></blockquote><br />
:: You will now have: ~/local/virtenv/bin/python<br />
# In ~/.bash_profile add: <blockquote><pre>PATH=~/local/virtenv/bin:~/local/bin:${PATH}</pre></blockquote><br />
:: so that your local python will be preferred.<br />
:: Log out, log in again and test python" to see which version will be invoked. It should be the new python. Check "which easy_install" to see if the one in local/virtenv would be executed.<br />
:: <br />
:: You have now 1) a local ''python'' installation that you can use, and 2) ''easy_install'' will also work with your local user installation. From now on you can e.g. locally install the nose testing framework (''easy_install nose'') and use it (''python -c "import nose"'').<br />
<br />
===Install mediagoblin as a site package===<br />
<br />
# Check out mediagoblin from git to e.g. ~/mediagoblin<br />
# Install MediaGoblin and all dependencies for MediaGoblin with easy_install.<br />
:* In the mediagoblin directory issue:<br />
:<blockquote><pre>python setup.py</pre></blockquote><br />
:* You will also need to: easy_install lxml<br />
:* Python-image was trickier to install: <pre>easy_install --find-links http://www.pythonware.com/products/pil/ Imaging</pre><br />
::Test by leaving the mediagoblin directory and see if you can import it: <pre>python -c "import mediagoblin"</pre> looking for error messages.<br />
<br />
===Set up an WSGI environment on Dreamhost===<br />
<br />
# Enable the mod_passenger setting for ruby/python in the domains web panel<br />
# ''cd'' into the domain directory (e.g. ~/media.sspaeth.de for me)<br />
# Copy mediagoblin.ini and paste.ini from the ~/mediagoblin directory here<br />
# Create passenger_wsgi.py in your domain directory (e.g. ~/media.sspaeth.de for me):<br />
<blockquote><pre>import sys, os<br />
INTERP = "/home/<username>/local/virtenv/bin/python"<br />
#INTERP is present twice so that the new python interpreter knows the actual executable path<br />
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)<br />
<br />
from paste.deploy import loadapp<br />
application = loadapp('config:/home/mediagoblin/media.sspaeth.de/paste.ini')<br />
<br />
#If in case of errors, all you get are mysterious error 500, you can set debug=true in paste.ini to see stack traces<br />
# Otherwise, add this:<br />
#from paste.exceptions.errormiddleware import ErrorMiddleware<br />
#application = ErrorMiddleware(application, debug=True)</pre></blockquote><br />
# Set up the database by issueing: <pre>gmg dbupdate</pre><br />
# (optional but recommended) Serve the static files directly from the webserver.<br />
:In paste.ini in this section: [composite:routing] comment out the static files:<br />
#/mgoblin_static/ = mediagoblin_static<br />
#/theme_static/ = theme_static<br />
:and symlink the mediagobin/mediagoblin/static directoy to public/mgoblin_static<br />
: and mediagoblin/mediagoblin/themes to public/theme_static<br />
:<br />
:so it is displayed directly. This step might be different depending on your web server configuration. There is no reason that static<br />
:files need to go through all the python indirection when they can be served directly by nginx/apache/...<br />
:<br />
:In case you want to delete your git checkout after the installation (you don't need it, since you installed the mediagoblin package to ~/local/virtenv/lib/python2.7/mediagoblin... you should do the symlinking from there.<br />
===Open Issues===<br />
Please fill in the blanks if you find them out:<br />
* How to enable logging to a file or standard html logs? Console output just disappears.<br />
* How to set up things not using sqlite. What's wrong with mySQL?<br />
<br />
===Troubleshooting===<br />
* First of all: invoke <pre>python passenger_wsgi.py</pre> directly from the shell. This will tell you if there are import errors etc. If this command exits without any output on the console, you have already achieved a lot.<br />
* In ''paste.ini'' set debug=true. This will show you python backtraces directly in the web page<br />
* You will need to configure an smtp user/passwd/server in mediagoblin.ini, so you actually get the account creation token mailed out. Hint, the relevant settings are: <blockquote><pre>email_debug_mode = false<br />
email_sender_address = postmaster@sspaeth.de<br />
email_smtp_host = SMTP.DOMAIN.TLD<br />
email_smtp_user = USERNAME<br />
email_smtp_pass = WEIRDPASSWORD</pre></blockquote><br />
* In case you can upload media, but it does not appear. You don't have the celery server running. Add <pre>CELERY_ALWAYS_EAGER = true</pre> to the ''[celery]'' section in mediagoblin.ini<br />
<br />
=Miscellaneous Hacks=<br />
==Force translation==<br />
There might some conditions under which you would prefer that MediaGoblin always return the same translation. If you are deploying with nginx and fastcgi, you can force MediaGoblin to return a specific translation regardless of browser preferences by passing a specific HTTP_ACCEPT_LANGUAGE fastcgi parameter in your location block. Example last line in location block:<br />
<nowiki><br />
fastcgi_param HTTP_ACCEPT_LANGUAGE es; #force spanish translation<br />
</nowiki><br />
<br />
==Create an admin user==<br />
<br />
To create an admin user, first create the user you need either via the website or the command<br />
<pre><br />
./bin/gmg adduser<br />
</pre><br />
<br />
Then to turn it into an admin account use<br />
<br />
<pre><br />
./bin/gmg makeadmin your_username<br />
</pre></div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Available_Plugins&diff=1535Available Plugins2014-05-23T06:36:29Z<p>Ayleph: Moved mediagoblin-recaptcha plugin out of WIP</p>
<hr />
<div>= A list of Available Plugins for MediaGoblin =<br />
<br />
==Core plugins ==<br />
<br />
The core plugins are available right away with your mediaboblin instance, they are not necessarily activated by default, tho. Please check the [http://docs.mediagoblin.org/siteadmin/plugins.html plugin documentation] to learn how to activate them.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Options !! Usage !! Doc !! Author<br />
|-<br />
| api || || || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| basic_auth || || || || <br />
|-<br />
| flatpagesfile || || It allows you to add pages to your MediaGoblin instance which are not generated from user content || [http://docs.mediagoblin.org/plugindocs/flatpagesfile.html doc] ||<br />
|-<br />
| geolocation || || || || <br />
|-<br />
| httpapiauth|| || Enables [http://en.wikipedia.org/wiki/Basic_access_authentication HTTP basic authentication] for the API || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| ldap || || || || <br />
|-<br />
| oauth || || The [http://en.wikipedia.org/wiki/Oauth oauth] plugin enables third party web applications to authenticate as one or more GNU MediaGoblin users ||[http://docs.mediagoblin.org/plugindocs/oauth.html doc] || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| openid || || || || <br />
|-<br />
| persona || || || || <br />
|-<br />
| piwigo || || Provides a Piwigo-compatible API || || <br />
|-<br />
| raven || || Support [http://www.getsentry.com/ Sentry] via Raven || [http://docs.mediagoblin.org/plugindocs/raven.html doc] ||<br />
|-<br />
| sampleplugin || || Dummy plugin for example purpose || ||<br />
|-<br />
| trim_whitespace|| || This plugin inserts a Middleware that filters out whitespace from the returned HTML in the Response() objects.||[http://docs.mediagoblin.org/plugindocs/trim_whitespace.html doc] ||<br />
|}<br />
<br />
== Third party plugins==<br />
<br />
Those plugins have been made by various contributors to extend mediagoblin's possibilities<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! What !! Options !! Doc !! How to get it ? !! Author<br />
|-<br />
| mediagoblin-licenses || Extend or replace the default license list ||<br />
* Append to existing list (true/false)<br />
* Licence list<br />
|| || pip install mediagoblin-licenses ||<br />
|-<br />
|[https://github.com/Velmont/gmg_localfiles gmg_localfiles] || Import files from your local filesystem without duplicating them. || || [https://github.com/Velmont/gmg_localfiles/blob/master/README.md doc] || git clone https://github.com/Velmont/gmg_localfiles.git || odinho/Velmont<br />
|-<br />
|[https://github.com/commonsmachinery/mediagoblin_svg mediagoblin_svg] || SVG image support || Display previews and thumbnails as SVG || || Check README ||<br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-hidden_original mediagoblin-hidden_original] || Hidden original || Give original upload a secret url, only publish downsized version || || pip install mediagoblin-hidden_original || [[User:Unhammer|Unhammer]] <br />
|-<br />
|[https://github.com/ayleph/mediagoblin-recaptcha mediagoblin-recaptcha] || [https://www.google.com/recaptcha Google reCAPTCHA] support || Enable reCAPTCHA on registration form over http/https || [https://github.com/ayleph/mediagoblin-recaptcha/blob/master/README.rst doc] || git clone https://github.com/ayleph/mediagoblin-recaptcha || [[User:Ayleph|ayleph]]<br />
|}<br />
<br />
== Work in progress ==<br />
<br />
You're working on a plugin but it's not ready ? Please let us know, cause if someone wants to make the same feature, this person will help you rather than doing the same thing from scratch ! <br />
<br />
{| class="wikitable"<br />
|-<br />
! Temporary name !! Planned features !! Repo or a place to see the WIP !! Author !! Status<br />
|-<br />
| Raw file support for GMG ||<br />
* Support NEF, '''done'''<br />
* Support CR2<br />
* Investigate support for other formats (if they include full-quality JPEG inside the file)<br />
|| https://github.com/Velmont/mediagoblin/tree/raw_image_mediatype || odinho/Velmont ||<br />
|-<br />
| [https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/trees/WIP/tag_cloud_plugin Tag Cloud] || Add a tag cloud feature for your templates || git clone git://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin.git HEAD:WIP/tag_cloud_plugin || Spaetz || [http://www.media.sspaeth.de/u/spaetz/ It works] but still needs core modifications.<br />
|-<br />
| Image property export for use externally ||<br />
* Basically, this would allow other sites (WordPress, etc.) to use their own plugins to easily grab image properties (description, name, url, alt text, license) for automatic insertion.<br />
* Include additional image properties (eg. alt text, short description) for scraping.<br />
|| [none] || exhipigeonist || Absolutely no work and very little planning. Currently no more than an idea I'd like to work on later if I get time, in conjunction with a WordPress plugin that would utilise it, of course.<br />
|- <br />
| HTML5-Multiupload || Adds a the html5 multifile input to the submit form || https://github.com/VenKamikaze/mediagoblin-html5-multi-upload<br />
|| kamikaze-m || Working on 0.4.1, but needs proper review. Test and report bugs, it might not work, but it's absolutly harmless to your MG instance <br />
|-<br />
| [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP] || Allows uploading of XCF images and GIMP resources (palettes, patterns, curves, gradients, brushes, dynamics, and tool presets). Thumbnails and previews are generated by an instance of GIMP running headlessly as a daemon. || [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP docs and code repository] [http://barn.kerosenecow.net/ Instance featuring GIMP media]|| saulgoode || Nearing completion. Still needs to be packaged for easier deployment.<br />
|-<br />
|[https://github.com/commonsmachinery/mg-rdfa mg-rdfa] || Embedding image metadata as RDFa || https://github.com/commonsmachinery/mg-rdfa || artfwo || Experimental, only SVG images are supported at the moment. <br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-purchase mediagoblin-purchase] || Purchase button || https://gitorious.org/mediagoblin-stock/mediagoblin-purchase || [[User:Unhammer|Unhammer]] || Just started <br />
|-<br />
|[https://github.com/sebastiansam55/uploadurl uploadurl] || Upload Images via URL instead of file || https://github.com/sebastiansam55/uploadurl || sebastiansam55 || Works when using browser that is logged in. Needs to use oauth or similar<br />
|}</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Main_Page&diff=1533Main Page2014-05-21T22:36:24Z<p>Ayleph: Undo revision 1531 by Jenifferhomes (talk) Undo spam edit</p>
<hr />
<div>= Want to Join the MediaGoblin Community? =<br />
<br />
We’re really glad that you want to join the MediaGoblin community!<br />
<br />
There are a variety of ways to help and support MediaGoblin and to join the team. If you want to code, great, if not, even better! MediaGoblin interested contributors in many different roles: users, system administrators, technical writers, testers, evangelists, UI/UX and graphics designers, cheerleaders, and dreamers.<br />
<br />
We observe the [https://www.djangoproject.com/conduct/ Django code of conduct]. Be welcoming, friendly, and patient!<br />
<br />
This wiki covers a variety of ways that you can get involved with MediaGoblin as well as instructions on how to get started.<br />
<br />
<br />
== Hang out with the MediaGoblin folk ==<br />
<br />
MediaGoblin has a mailing list and an IRC channel where we hang out. See [http://mediagoblin.org/pages/join.html our join page] for links.<br />
<br />
Please drop by and say “Hi!” And, if you’re looking for something to do, just ask---there’s always work to be done.<br />
<br />
<br />
== Take Part in the Monthly Meetings ==<br />
<br />
Each month is a [[:Category:Meeting|Meeting]]. You can take part and help decide on the future of MediaGoblin. Or just be around and see what's happening live!<br />
<br />
=How Can you help ?=<br />
<br />
First and foremost, for many (but not all) types of contributions you may want to set up a local instance. To learn how to do this, see the [[HackingHowto]] page. (If you're not familiar with command line level things, there are still ways you can help below!)<br />
<br />
== File Bugs / Triage Bugs ==<br />
<br />
Issue reports are critical for all projects. Identified bugs give developers a basis for beginning work, and providing an idea of what features and issues are most important to users and the overall usability of the software. If you identify errors, flaws, unexpected behaviors, or deficits that impede use, file a bug.<br />
<br />
* [[File Bugs]] -- notes on filing new bugs/issues/feature requests<br />
* [[Feature Ideas]] -- notes on possible features<br />
* [[Triage Bugs]] -- notes on triaging<br />
* [[BugTriageDay]] -- every other Thursday is bug triage day where anyone can help out triaging bugs<br />
<br />
<br />
== Send Encouragement / Spread the Word ==<br />
<br />
Sometimes, a nice word, simple encouragement, and interest in the work we’re doing is enough to inspire a tizzy of productive work. Just a bit more interest and encouragement can even make the difference between a complete feature and limited functionality; between a completed milestone and lost momentum.<br />
<br />
Similarly, MediaGoblin, and the movement for free network services, is always in need of encouragement. Use free network services, understand the principals behind the movement, be able to articulate the benefits of free network services and the problems with psudo-free applications that don’t respect the users’ freedom.<br />
<br />
Write a blog post, post a status update, drop by the listserv or join #mediagoblin on freenode.net and let us know. See [http://mediagoblin.org/join/ our join page] for links.<br />
<br />
<br />
== Write Documentation / Edit Documentation ==<br />
<br />
* [[Documentation quick start]] - How to contribute to the documentation effort.<br />
* [[ManualStandards]] - covers the standards for writing the user manual (forthcoming.) <br />
<br />
<br />
== Test MediaGoblin ==<br />
<br />
Do you have access to the web? Do you like sharing your opinions? If so, we need your help to test MediaGoblin! Testers play around with the current test instance, note what operating system and browser they use (notes on multiple set-ups are also helpful) and take some notes. That's it! It's a very important task that doesn't require any special knowledge and you're done in under an hour. Ready to help? <br />
<br />
* [[User Experience]] - user experience testing. Includes link to an instance you can try!<br />
* [[UnitTests|Unit Tests]] - all about the unit tests<br />
* [[Manual_Functional_Testing|Manual Functional Testing]] - a great way to get to know MediaGoblin.<br />
<br />
<br />
== Translate MediaGoblin ==<br />
<br />
If you know English and another language and feel comfortable translating elements of the interface or even the documentation, we’d love to have help translating the software and resources.<br />
Translating MediaGoblin is very easy with a web interface, so there is no programming knowledge required at all.<br />
<br />
* [[Translations]] - How to translate stuff or update the translations<br />
<br />
== Become a User ==<br />
<br />
Coming soon!<br />
<br />
We’re building MediaGoblin for us and for you but really you’re one of us and I am you and we are we and MediaGoblin is the walrus.<br />
<br />
We're planning to launch our own public instance of MediaGoblin in the near future--probably in the September/October 2011 time frame. When we do, sign up for an account, use the service and relish in the thought that this service comes with a heaping side of Freedom and you can salt and pepper it to your liking.<br />
<br />
<br />
== Help Others ==<br />
<br />
Have you spent time with MediaGoblin? If so, your experience and wisdom are invaluable and you’re the best person we can think of to help other users with their questions.<br />
<br />
Hang out on the IRC channel and help answer new peoples' questions. See [http://mediagoblin.org/join/ our join page] for links.<br />
<br />
<br />
== Run your own MediaGoblin Instance ==<br />
<br />
Are there things about our instance you want to change? Are there things about other instances you wish were different? Want to test upcoming changes? Want to create patches to implement things you need? That’s great—you can run your own instance!<br />
<br />
The primary documentation for this is at [http://docs.mediagoblin.org http://docs.mediagoblin.org] but here are some additional tips:<br />
<br />
* [[Configure_MediaGoblin|Configuration]] - Learn about MediaGoblin configuration files and file options.<br />
* [[Deployment]] - General deployment advice<br />
* [[Scaling Down]] - Minimizing MediaGoblin's resource requirements<br />
* [[Virtual Machine Hosting]] - Deploy your own publicly available MediaGoblin server using [http://aws.amazon.com/free/?utm_source=adwords&utm_medium=cpc&utm_campaign=CPC_Google_AWS_ec2&utm_content=TextV01_PP_V01_EC2&trk=CPC_Google_AWS_ec2 Amazon's free EC2 tier].<br />
<br />
= Technical project documentation =<br />
<br />
The technical docs, that are more finished and the ones that are better maintained near the code (so they stay up to date) are in the more technical chapters of the [http://docs.mediagoblin.org/ main documentation].<br />
* [[Storage]] - How MediaGoblin's internal storage system works.<br />
* [[Processing]] - What happens after you submit your image/video/etc? Processing! More about that.<br />
* [https://gitorious.org/mediagoblin/mediagoblin/blobs/master/extlib/README External Library Policy] - covers use of external libraries<br />
* [[User:Cwebber/braindumps]] - Chris Webber's braindumps (you can help refactoring these into real sections of the site!)<br />
* [[Multiple media support]] - Design plan for multiple media support<br />
<br />
== Write Code / Fix Code ==<br />
<br />
MedaGoblin development is premised on the idea that the entire interface for the platform be completely theme-able. If you have a design or theming background, consider developing themes for MediaGoblin. New themes help test the theming system, provide attractive and appealing interfaces for prospective users. If you want to start a new theme but don’t know where to start, touch base with the development community on the list or in the IRC channel for more information.<br />
<br />
If you are a coder and you would like to write code, the repository is hosted on gitorious. Clone or fork the repository and start poking around. Become familiar with this manual for an overview of how the software works and is used. Consider the contributor wiki for more information about the project, our preferred methods, and guides for developing MediaGoblin. We even have tips on becoming a coder and we’re willing to help!<br />
<br />
* [[HackingHowto|Hacking]] - notes on making and sending in code contributions<br />
** [[BeginnersCorner|Beginner's Corner]] - resources for those who are new to Python or Git.<br />
** ''Started from an older version of the Hacking Howto? We switched from buildout->virtualenv, so look at [[Moving from buildout to virtualenv]] for information on how to move over.''<br />
* [[Git workflow]] - How to go about submitting patches via git.<br />
* [[Code review tips]] - Tips on how to go about doing local code review<br />
* [[Templating]] - How our templating structure is set up<br />
* [[Code overview]] - Overview of the structure of the codebase<br />
<br />
== Create a Theme ==<br />
<br />
See [http://docs.mediagoblin.org/siteadmin/theming.html the theming docs]<br />
<br />
== Write a plugin ==<br />
<br />
If you start, you'll find some basic documentation [http://docs.mediagoblin.org/#part-4-developer-s-zone| in the docs site]<br />
<br />
You've made a plugin ? List it here : <br />
<br />
[[Available_Plugins|Available plugins]]<br />
<br />
You've written a plugin ? You got some tips to share ? A tutorial idea ? Please do :<br />
<br />
[[PluginsTips|Plugins Tips]]<br />
<br />
= Misc =<br />
<br />
== Android client ==<br />
<br />
See [[Android Client]]<br />
<br />
= Inner workings of the secret sanctum =<br />
<br />
* [[IRCBot]] - covers our irc bot<br />
* [[ReleaseProcess|Release Process]] - covers the release process<br />
* [[Update the website]] - Learn how to update mediagoblin.org!<br />
<br />
=FAQ=<br />
<br />
[[GMG FAQ]]</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Available_Plugins&diff=1532Available Plugins2014-05-21T22:35:10Z<p>Ayleph: /* Work in progress */ Updates on recaptcha plugin</p>
<hr />
<div>= A list of Available Plugins for MediaGoblin =<br />
<br />
==Core plugins ==<br />
<br />
The core plugins are available right away with your mediaboblin instance, they are not necessarily activated by default, tho. Please check the [http://docs.mediagoblin.org/siteadmin/plugins.html plugin documentation] to learn how to activate them.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Options !! Usage !! Doc !! Author<br />
|-<br />
| api || || || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| basic_auth || || || || <br />
|-<br />
| flatpagesfile || || It allows you to add pages to your MediaGoblin instance which are not generated from user content || [http://docs.mediagoblin.org/plugindocs/flatpagesfile.html doc] ||<br />
|-<br />
| geolocation || || || || <br />
|-<br />
| httpapiauth|| || Enables [http://en.wikipedia.org/wiki/Basic_access_authentication HTTP basic authentication] for the API || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| ldap || || || || <br />
|-<br />
| oauth || || The [http://en.wikipedia.org/wiki/Oauth oauth] plugin enables third party web applications to authenticate as one or more GNU MediaGoblin users ||[http://docs.mediagoblin.org/plugindocs/oauth.html doc] || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| openid || || || || <br />
|-<br />
| persona || || || || <br />
|-<br />
| piwigo || || Provides a Piwigo-compatible API || || <br />
|-<br />
| raven || || Support [http://www.getsentry.com/ Sentry] via Raven || [http://docs.mediagoblin.org/plugindocs/raven.html doc] ||<br />
|-<br />
| sampleplugin || || Dummy plugin for example purpose || ||<br />
|-<br />
| trim_whitespace|| || This plugin inserts a Middleware that filters out whitespace from the returned HTML in the Response() objects.||[http://docs.mediagoblin.org/plugindocs/trim_whitespace.html doc] ||<br />
|}<br />
<br />
== Third party plugins==<br />
<br />
Those plugins have been made by various contributors to extend mediagoblin's possibilities<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! What !! Options !! Doc !! How to get it ? !! Author<br />
|-<br />
| mediagoblin-licenses || Extend or replace the default license list ||<br />
* Append to existing list (true/false)<br />
* Licence list<br />
|| || pip install mediagoblin-licenses ||<br />
|-<br />
|[https://github.com/Velmont/gmg_localfiles gmg_localfiles] || Import files from your local filesystem without duplicating them. || || [https://github.com/Velmont/gmg_localfiles/blob/master/README.md doc] || git clone https://github.com/Velmont/gmg_localfiles.git || odinho/Velmont<br />
|-<br />
|[https://github.com/commonsmachinery/mediagoblin_svg mediagoblin_svg] || SVG image support || Display previews and thumbnails as SVG || || Check README ||<br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-hidden_original mediagoblin-hidden_original] || Hidden original || Give original upload a secret url, only publish downsized version || || pip install mediagoblin-hidden_original || [[User:Unhammer|Unhammer]] <br />
|}<br />
<br />
== Work in progress ==<br />
<br />
You're working on a plugin but it's not ready ? Please let us know, cause if someone wants to make the same feature, this person will help you rather than doing the same thing from scratch ! <br />
<br />
{| class="wikitable"<br />
|-<br />
! Temporary name !! Planned features !! Repo or a place to see the WIP !! Author !! Status<br />
|-<br />
| Raw file support for GMG ||<br />
* Support NEF, '''done'''<br />
* Support CR2<br />
* Investigate support for other formats (if they include full-quality JPEG inside the file)<br />
|| https://github.com/Velmont/mediagoblin/tree/raw_image_mediatype || odinho/Velmont ||<br />
|-<br />
| [https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/trees/WIP/tag_cloud_plugin Tag Cloud] || Add a tag cloud feature for your templates || git clone git://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin.git HEAD:WIP/tag_cloud_plugin || Spaetz || [http://www.media.sspaeth.de/u/spaetz/ It works] but still needs core modifications.<br />
|-<br />
| Image property export for use externally ||<br />
* Basically, this would allow other sites (WordPress, etc.) to use their own plugins to easily grab image properties (description, name, url, alt text, license) for automatic insertion.<br />
* Include additional image properties (eg. alt text, short description) for scraping.<br />
|| [none] || exhipigeonist || Absolutely no work and very little planning. Currently no more than an idea I'd like to work on later if I get time, in conjunction with a WordPress plugin that would utilise it, of course.<br />
|- <br />
| HTML5-Multiupload || Adds a the html5 multifile input to the submit form || https://github.com/VenKamikaze/mediagoblin-html5-multi-upload<br />
|| kamikaze-m || Working on 0.4.1, but needs proper review. Test and report bugs, it might not work, but it's absolutly harmless to your MG instance <br />
|-<br />
| [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP] || Allows uploading of XCF images and GIMP resources (palettes, patterns, curves, gradients, brushes, dynamics, and tool presets). Thumbnails and previews are generated by an instance of GIMP running headlessly as a daemon. || [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP docs and code repository] [http://barn.kerosenecow.net/ Instance featuring GIMP media]|| saulgoode || Nearing completion. Still needs to be packaged for easier deployment.<br />
|-<br />
|[https://github.com/commonsmachinery/mg-rdfa mg-rdfa] || Embedding image metadata as RDFa || https://github.com/commonsmachinery/mg-rdfa || artfwo || Experimental, only SVG images are supported at the moment. <br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-purchase mediagoblin-purchase] || Purchase button || https://gitorious.org/mediagoblin-stock/mediagoblin-purchase || [[User:Unhammer|Unhammer]] || Just started <br />
|-<br />
|[https://github.com/sebastiansam55/uploadurl uploadurl] || Upload Images via URL instead of file || https://github.com/sebastiansam55/uploadurl || sebastiansam55 || Works when using browser that is logged in. Needs to use oauth or similar<br />
|-<br />
|[https://github.com/ayleph/mediagoblin-recaptcha mediagoblin-recaptcha] || Use [https://www.google.com/recaptcha Google reCAPTCHA] for <strike>human</strike> goblin verification on registration. || https://github.com/ayleph/mediagoblin-recaptcha|| [[User:Ayleph|ayleph]] || Functional captcha system not yet integrated with basic_auth.<br />
|}</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Available_Plugins&diff=1530Available Plugins2014-05-20T20:47:49Z<p>Ayleph: /* Work in progress */ Added recaptcha plugin WIP</p>
<hr />
<div>= A list of Available Plugins for MediaGoblin =<br />
<br />
==Core plugins ==<br />
<br />
The core plugins are available right away with your mediaboblin instance, they are not necessarily activated by default, tho. Please check the [http://docs.mediagoblin.org/siteadmin/plugins.html plugin documentation] to learn how to activate them.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! Options !! Usage !! Doc !! Author<br />
|-<br />
| api || || || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| basic_auth || || || || <br />
|-<br />
| flatpagesfile || || It allows you to add pages to your MediaGoblin instance which are not generated from user content || [http://docs.mediagoblin.org/plugindocs/flatpagesfile.html doc] ||<br />
|-<br />
| geolocation || || || || <br />
|-<br />
| httpapiauth|| || Enables [http://en.wikipedia.org/wiki/Basic_access_authentication HTTP basic authentication] for the API || || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| ldap || || || || <br />
|-<br />
| oauth || || The [http://en.wikipedia.org/wiki/Oauth oauth] plugin enables third party web applications to authenticate as one or more GNU MediaGoblin users ||[http://docs.mediagoblin.org/plugindocs/oauth.html doc] || [[User:Joar]], MediaGoblin contributors<br />
|-<br />
| openid || || || || <br />
|-<br />
| persona || || || || <br />
|-<br />
| piwigo || || Provides a Piwigo-compatible API || || <br />
|-<br />
| raven || || Support [http://www.getsentry.com/ Sentry] via Raven || [http://docs.mediagoblin.org/plugindocs/raven.html doc] ||<br />
|-<br />
| sampleplugin || || Dummy plugin for example purpose || ||<br />
|-<br />
| trim_whitespace|| || This plugin inserts a Middleware that filters out whitespace from the returned HTML in the Response() objects.||[http://docs.mediagoblin.org/plugindocs/trim_whitespace.html doc] ||<br />
|}<br />
<br />
== Third party plugins==<br />
<br />
Those plugins have been made by various contributors to extend mediagoblin's possibilities<br />
<br />
{| class="wikitable"<br />
|-<br />
! Name !! What !! Options !! Doc !! How to get it ? !! Author<br />
|-<br />
| mediagoblin-licenses || Extend or replace the default license list ||<br />
* Append to existing list (true/false)<br />
* Licence list<br />
|| || pip install mediagoblin-licenses ||<br />
|-<br />
|[https://github.com/Velmont/gmg_localfiles gmg_localfiles] || Import files from your local filesystem without duplicating them. || || [https://github.com/Velmont/gmg_localfiles/blob/master/README.md doc] || git clone https://github.com/Velmont/gmg_localfiles.git || odinho/Velmont<br />
|-<br />
|[https://github.com/commonsmachinery/mediagoblin_svg mediagoblin_svg] || SVG image support || Display previews and thumbnails as SVG || || Check README ||<br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-hidden_original mediagoblin-hidden_original] || Hidden original || Give original upload a secret url, only publish downsized version || || pip install mediagoblin-hidden_original || [[User:Unhammer|Unhammer]] <br />
|}<br />
<br />
== Work in progress ==<br />
<br />
You're working on a plugin but it's not ready ? Please let us know, cause if someone wants to make the same feature, this person will help you rather than doing the same thing from scratch ! <br />
<br />
{| class="wikitable"<br />
|-<br />
! Temporary name !! Planned features !! Repo or a place to see the WIP !! Author !! Status<br />
|-<br />
| Raw file support for GMG ||<br />
* Support NEF, '''done'''<br />
* Support CR2<br />
* Investigate support for other formats (if they include full-quality JPEG inside the file)<br />
|| https://github.com/Velmont/mediagoblin/tree/raw_image_mediatype || odinho/Velmont ||<br />
|-<br />
| [https://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin/trees/WIP/tag_cloud_plugin Tag Cloud] || Add a tag cloud feature for your templates || git clone git://gitorious.org/~spaetz/mediagoblin/spaetz-mediagoblin.git HEAD:WIP/tag_cloud_plugin || Spaetz || [http://www.media.sspaeth.de/u/spaetz/ It works] but still needs core modifications.<br />
|-<br />
| Image property export for use externally ||<br />
* Basically, this would allow other sites (WordPress, etc.) to use their own plugins to easily grab image properties (description, name, url, alt text, license) for automatic insertion.<br />
* Include additional image properties (eg. alt text, short description) for scraping.<br />
|| [none] || exhipigeonist || Absolutely no work and very little planning. Currently no more than an idea I'd like to work on later if I get time, in conjunction with a WordPress plugin that would utilise it, of course.<br />
|- <br />
| HTML5-Multiupload || Adds a the html5 multifile input to the submit form || https://github.com/VenKamikaze/mediagoblin-html5-multi-upload<br />
|| kamikaze-m || Working on 0.4.1, but needs proper review. Test and report bugs, it might not work, but it's absolutly harmless to your MG instance <br />
|-<br />
| [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP] || Allows uploading of XCF images and GIMP resources (palettes, patterns, curves, gradients, brushes, dynamics, and tool presets). Thumbnails and previews are generated by an instance of GIMP running headlessly as a daemon. || [http://chiselapp.com/user/saulgoode/repository/mg-gimp MG-GIMP docs and code repository] [http://barn.kerosenecow.net/ Instance featuring GIMP media]|| saulgoode || Nearing completion. Still needs to be packaged for easier deployment.<br />
|-<br />
|[https://github.com/commonsmachinery/mg-rdfa mg-rdfa] || Embedding image metadata as RDFa || https://github.com/commonsmachinery/mg-rdfa || artfwo || Experimental, only SVG images are supported at the moment. <br />
|-<br />
|[https://gitorious.org/mediagoblin-stock/mediagoblin-purchase mediagoblin-purchase] || Purchase button || https://gitorious.org/mediagoblin-stock/mediagoblin-purchase || [[User:Unhammer|Unhammer]] || Just started <br />
|-<br />
|[https://github.com/sebastiansam55/uploadurl uploadurl] || Upload Images via URL instead of file || https://github.com/sebastiansam55/uploadurl || sebastiansam55 || Works when using browser that is logged in. Needs to use oauth or similar<br />
|-<br />
|recaptcha || Use [https://www.google.com/recaptcha Google reCAPTCHA] for <strike>human</strike> goblin verification on registration. || [coming soon] || [[User:Ayleph|ayleph]] || Works on test server, not yet moved to separate plugin.<br />
|}</div>Aylephhttps://wiki.mediagoblin.org/index.php?title=Live_instances&diff=1266Live instances2013-04-27T13:22:16Z<p>Ayleph: adding my personal photo site</p>
<hr />
<div>== Public ==<br />
<br />
These are public sites running GNU MediaGoblin:<br />
<br />
* https://gobblin.se (previously mg.wandborg.se) -- Registration open, all media types enabled (except STL/3D, at the moment) -- details; [[User:Joar/mg.wandborg.se|Joar/mg.wandborg.se]].<br />'''Your browser may not trust the certificate authority:''' http://wiki.cacert.org/InclusionStatus.<br />
* http://roaming-initiative.com/mediagoblin/ running on http://hyperboria.net/ apparently! [http://www.reddit.com/r/darknetplan/comments/17e2dn/public_mediagoblin_server_available_on_hyperboria/ reddit thread]<br />
* http://mediagoblin.com -- Currently registration and video are disabled; you have to ping Chris Webber for an invite.<br />
<br />
== Organizations ==<br />
<br />
These are instances run by organizations, usually having registration limited to organization members:<br />
<br />
* http://filme.ceata.org -- Fundația Ceata, Romanian Free Software and Free Culture activist organization. Registration is currently disabled.<br />
<br />
== Family/Friends ==<br />
<br />
Also, these sites are running MediaGoblin, but are for more limited audiences (family/friends of person who's running it, etc):<br />
<br />
* [http://media.interi.org/ maiki’s baby photo site]<br />
* [http://media.haise.ca/ haise family photos] (currently with a baby focus)<br />
* [http://media.jpope.org/ jpope's instance] -- Registration currently disabled.<br />
* [http://media.thelovebug.org/ thelovebug's instance] (registration closed)<br />
* [http://media.sspaeth.de spaetz' private pics] Sebastian Spaeth's pictures, family and stuff (registration closed)<br />
* [http://gallery.dick-thomas.co.uk gallery.Dick-Thomas.co.uk ] Dick Thomas' pictures, family and stuff (registration closed)<br />
* [http://media.wigunnara.com media.wigunnara.com] Giri Alam's pictures, family and stuff (registration closed)<br />
* [http://photos.katsarov.org photos.katsarov.org] Photos by Anton Katsarov (registration closed)<br />
* [http://media.micha.elmueller.net media.micha.elmueller.net] Photos by Michael Müller, all licensed under CC-BY (registration closed)<br />
* [http://photos.technicallyandrew.com photos.technicallyandrew.com] Photos by Andrew Browning (registration closed)<br />
<br />
''You can add your instance here, too!''</div>Ayleph