Magnus Hagander [Fri, 31 Mar 2017 12:08:19 +0000 (14:08 +0200)]
Nicer handling of images and smileys
Allow images to go up to 300px, and explicitly make wordpress smileys
(since we have lot of wordpress blogs) normal size and inline instead of
overriding them.
Petr Jelinek
Magnus Hagander [Tue, 22 Nov 2016 20:16:10 +0000 (21:16 +0100)]
Planet postgresql is now https
Magnus Hagander [Mon, 21 Nov 2016 20:58:24 +0000 (21:58 +0100)]
Wiki and twitter links should be https
Magnus Hagander [Sun, 20 Nov 2016 16:35:30 +0000 (17:35 +0100)]
Use https for postgr.es
Magnus Hagander [Tue, 16 Aug 2016 14:03:54 +0000 (16:03 +0200)]
Don't re-approve a blog that was already approved
This will cause extra emails to be sent, which isn't very user-friendly.
Magnus Hagander [Sat, 21 May 2016 16:50:20 +0000 (12:50 -0400)]
Serve planet layout images from the local webserver
It's kind of silly to pull them down from www.postgresql.org each time.
And with the switch to https-only there, it will also lead to a bunch of
extra redirects which will slow things down.
Magnus Hagander [Mon, 11 Apr 2016 08:45:36 +0000 (10:45 +0200)]
Set a default socket timeout of 10 seconds
Any feed that doesn't complete the socket operation in 10 seconds
will fail - we'll still retry it on the next run of course.
Magnus Hagander [Tue, 29 Mar 2016 08:41:12 +0000 (10:41 +0200)]
Cap blog entries at todays date
This avoids cases where a blog entry might be unintentionally (or intentionally)
set with a date in the future in the incoming RSS feed and as such stays at the
frontpage of planet until that date is reached.
Instead, whenever something is parsed to be in the future, set the post date to
the time of the parsing (because it clearly exists at this time).
Magnus Hagander [Tue, 29 Mar 2016 08:37:17 +0000 (10:37 +0200)]
Fix indentation that caused logic error
We updatet he newest entry date in other ways as well, but this code
clearly didn't run.
Magnus Hagander [Mon, 21 Mar 2016 16:10:13 +0000 (17:10 +0100)]
Fix typo
Reported by David Rowley, though Alvaro
Magnus Hagander [Mon, 21 Mar 2016 14:16:34 +0000 (15:16 +0100)]
Don't put a space before P in shortlinks
Sideeffect of some re-indenting, any short URL that had a P
in it would get %20P instead, making it not work. Oops.
Magnus Hagander [Tue, 8 Mar 2016 16:53:42 +0000 (17:53 +0100)]
Don't synchronize twitter users for unapproved feeds
Magnus Hagander [Thu, 3 Mar 2016 09:51:47 +0000 (10:51 +0100)]
Source header images locally
Previously these were loaded from www.postgresql.org, which caused a mixed-content
warning when using the registration interface.
Magnus Hagander [Thu, 18 Feb 2016 01:06:36 +0000 (20:06 -0500)]
Reference correct variable in error msg
Magnus Hagander [Tue, 16 Feb 2016 16:21:24 +0000 (17:21 +0100)]
Remove templates no longer used
Magnus Hagander [Tue, 16 Feb 2016 16:20:22 +0000 (17:20 +0100)]
Log is not a separate page anymore, so fix links
Also add an anchor on the edit page to deal with it
Magnus Hagander [Mon, 15 Feb 2016 16:58:10 +0000 (17:58 +0100)]
Set title fields for forms and pages
Magnus Hagander [Mon, 15 Feb 2016 16:55:41 +0000 (17:55 +0100)]
Link to moderation admin view
Don't encourage using the django admin view.
Magnus Hagander [Mon, 15 Feb 2016 16:23:56 +0000 (17:23 +0100)]
Don't synchronize users who only have archived blogs
Magnus Hagander [Fri, 12 Feb 2016 12:17:31 +0000 (13:17 +0100)]
Fix accidentaly reversed condition
Blogs would display as error in list and warning on the details page,
and the other way around. Oops.
Magnus Hagander [Thu, 11 Feb 2016 14:22:58 +0000 (15:22 +0100)]
Add specific team admin to list more details in admin view
Magnus Hagander [Thu, 11 Feb 2016 14:19:36 +0000 (15:19 +0100)]
Remove leftover debugging code
Magnus Hagander [Thu, 11 Feb 2016 14:18:59 +0000 (15:18 +0100)]
Add managers to teams
This is a single user that's in charge of a team. The manager will get an
email whenever somebody tries to join a team. The team will also show up
on the managers /register/ page with the ability to remove people from it.
Magnus Hagander [Thu, 11 Feb 2016 14:17:01 +0000 (15:17 +0100)]
Don't try to store status updates for fake blog entries
We create fake entries when scanning for saved blogs, and they should
never be saved to the db.
This was broken by
baefbd4de052774e75c52e7830ba396b4c8b3664 which pushed
the save into the aggregator. Now, make it optional.
Magnus Hagander [Thu, 11 Feb 2016 13:30:53 +0000 (14:30 +0100)]
Add search fields to admin
Magnus Hagander [Thu, 11 Feb 2016 13:28:13 +0000 (14:28 +0100)]
Better admin for aggregator log
Magnus Hagander [Thu, 11 Feb 2016 13:27:19 +0000 (14:27 +0100)]
Implement log sender for new planet admin
Instead of sending an email to the planet list, send individual emails to the
blog authors and ask them to fix their blogs if more than a certain number
of fetches have failed. Now that we can archive blogs, this makes more sense,
and as the planet team doesn't actually do anything with the emails there anyway,
there is no point to keep sending them.
Magnus Hagander [Thu, 11 Feb 2016 08:30:56 +0000 (09:30 +0100)]
Fix query for list sync
Magnus Hagander [Wed, 10 Feb 2016 22:09:37 +0000 (23:09 +0100)]
Oops, include the name of the feed in the title on outgoing RSS
Magnus Hagander [Wed, 10 Feb 2016 22:01:53 +0000 (23:01 +0100)]
Fix accidentally broken error pages
Magnus Hagander [Wed, 10 Feb 2016 21:09:53 +0000 (22:09 +0100)]
Save feed status directly instead of at end of processing
Since processing can take a long time with slow blogs, store the
date before that happens.
This will prevent from conflicting with the web UI and overwriting
the settings from that one.
Magnus Hagander [Wed, 10 Feb 2016 21:08:57 +0000 (22:08 +0100)]
Not used any more
Magnus Hagander [Wed, 10 Feb 2016 20:14:13 +0000 (21:14 +0100)]
Don't crash in feed for items with no existing shortlink
This can happen on old items (but not new)
Magnus Hagander [Wed, 10 Feb 2016 20:10:28 +0000 (21:10 +0100)]
Don't crash hard when there are no visible items
Magnus Hagander [Wed, 10 Feb 2016 19:45:37 +0000 (20:45 +0100)]
Oops in purge header
Magnus Hagander [Wed, 10 Feb 2016 18:34:08 +0000 (19:34 +0100)]
Add support for archiving blogs
An archived blog is one that is no longer polled for new data, but we
keep the posts around. Sometime in the future we might want to do statistics
or searches across them...
Magnus Hagander [Wed, 10 Feb 2016 18:19:17 +0000 (19:19 +0100)]
Send email to feed owner when entries are aggregated
Magnus Hagander [Wed, 10 Feb 2016 18:05:01 +0000 (19:05 +0100)]
Remove redundant code
This is now handled in the "proper" moderation interface, so no need
to send extra moderation notices.
Magnus Hagander [Wed, 10 Feb 2016 18:00:13 +0000 (19:00 +0100)]
Make the user a proper Foreign Key in the database
Instead of storing the username as a string and doing lookups all the time when it
goes out of sync.
The database has to be cleaned before running this one, by simply moving all blogs
with invalid users to some "collector account".
Magnus Hagander [Wed, 10 Feb 2016 17:35:48 +0000 (18:35 +0100)]
These shorterners haven't been supported for years
Magnus Hagander [Wed, 10 Feb 2016 17:33:19 +0000 (18:33 +0100)]
A brand new planet manager and runtime
Completely restructure the planet postgresql code -- it was definitely
getting old.
A new registration interface makes it much more friendly, and gives the
user a chance to see what's going on.
A new moderation interface allows for a better view of what's happening
with the feeds that are pending, as well as the ability to give a message
to the subscriber when rejecting a blog.
Aggregation uses the same framework, but now runs as a django management
command, and also supports async parallelism when fetching the blogs to
make it much faster (since most of them time out on http).
Planet itself is now rendered in django, and expects a Varnish sitting in
front of it, to which it will generate purges properly. Makes any changes
made in the interface more or less instant, instead of having to wait for
15 minutes.
Magnus Hagander [Wed, 10 Feb 2016 17:37:23 +0000 (18:37 +0100)]
Import bootstrap CSS
To be used by the new moderation interface
Magnus Hagander [Wed, 10 Feb 2016 16:29:35 +0000 (17:29 +0100)]
List more info about posts in admin display
Magnus Hagander [Tue, 9 Feb 2016 15:28:21 +0000 (16:28 +0100)]
Import mailqueue app from pgeu
Magnus Hagander [Fri, 1 Jan 2016 16:47:18 +0000 (17:47 +0100)]
Don't crash on NULL team information
Magnus Hagander [Fri, 1 Jan 2016 16:43:01 +0000 (17:43 +0100)]
Script requires bash
Magnus Hagander [Fri, 1 Jan 2016 16:41:08 +0000 (17:41 +0100)]
Support for automatically activating virtualenv for cronjob
Magnus Hagander [Fri, 1 Jan 2016 16:38:02 +0000 (17:38 +0100)]
No need to set path in script
The /usr/local part was for old FreeBSD system.
Magnus Hagander [Fri, 1 Jan 2016 16:18:26 +0000 (17:18 +0100)]
Use REQUEST_URI to get the URL for redirector
This one works both under a local dev webserver and importantly also
on the production server...
Magnus Hagander [Thu, 31 Dec 2015 15:16:12 +0000 (16:16 +0100)]
Add initial schema migration for django 1.8
Magnus Hagander [Thu, 31 Dec 2015 14:23:24 +0000 (15:23 +0100)]
Update sample local_settings.py for new settings format
Magnus Hagander [Thu, 31 Dec 2015 14:21:58 +0000 (15:21 +0100)]
Remove horribly out-of-date documentation
Magnus Hagander [Thu, 31 Dec 2015 14:04:10 +0000 (15:04 +0100)]
Move all tables to public schema
Since django still does not properly support multiple schemas, it creates a
lot of pain to maintain the tables in different schemas. And the planet database
has a very simple schema with few tables anyway, so there is arguably no actual
gain from keeping them separate.
When deploying, run SQL manually to move existing tables over:
ALTER TABLE admin.auditlog SET SCHEMA public;
ALTER TABLE admin.auth_group SET SCHEMA public;
ALTER TABLE admin.auth_group_permissions SET SCHEMA public;
ALTER TABLE admin.auth_message SET SCHEMA public;
ALTER TABLE admin.auth_permission SET SCHEMA public;
ALTER TABLE admin.auth_user SET SCHEMA public;
ALTER TABLE admin.auth_user_groups SET SCHEMA public;
ALTER TABLE admin.auth_user_user_permissions SET SCHEMA public;
ALTER TABLE admin.django_admin_log SET SCHEMA public;
ALTER TABLE admin.django_content_type SET SCHEMA public;
ALTER TABLE admin.django_session SET SCHEMA public;
ALTER TABLE admin.django_site SET SCHEMA public;
ALTER TABLE planet.aggregatorlog SET SCHEMA public;
ALTER TABLE planet.feeds SET SCHEMA public;
ALTER TABLE planet.posts SET SCHEMA public;
ALTER TABLE planet.teams SET SCHEMA public;
DROP SCHEMA admin;
DROP SCHEMA planet;
and if there is a planetadmin user, also run
ALTER USER planetadmin RESET search_path;
Magnus Hagander [Thu, 31 Dec 2015 14:03:23 +0000 (15:03 +0100)]
Update redirector to run as uwsgi app
Since we use uwsgi for the django interfaces as of 1.8, doing the same
for the redirector just makes things easier.
Magnus Hagander [Thu, 31 Dec 2015 13:55:31 +0000 (14:55 +0100)]
Code updates for django 1.8
Magnus Hagander [Thu, 31 Dec 2015 13:23:26 +0000 (14:23 +0100)]
Move files to new django 1.8 structure
Need another subdirectory. Also update manage.py and wsgi.py for
the django 1.8 formats.
Magnus Hagander [Tue, 21 Apr 2015 12:48:51 +0000 (14:48 +0200)]
Return proper errorcodes from auth plugin
Instead of raising an exception which will cause both a server log
and an email to be sent, return a proper http 400 message when the
incoming authentication request is bad. This will also show the
proper error message to the client, instead of a generic internal
server error.
Tomas Vondra [Sat, 28 Feb 2015 18:11:50 +0000 (19:11 +0100)]
sort top posters by time of last post
Magnus Hagander [Sun, 15 Mar 2015 10:56:57 +0000 (11:56 +0100)]
Avoid crashing when truncating empty URLs
Magnus Hagander [Thu, 13 Jun 2013 11:51:30 +0000 (13:51 +0200)]
Update to use twitter API v1.1
Magnus Hagander [Thu, 13 Jun 2013 11:51:04 +0000 (13:51 +0200)]
Add more info when JSON return is not in JSON format
Magnus Hagander [Thu, 13 Jun 2013 11:50:31 +0000 (13:50 +0200)]
Avoid using global variable that wasn't intended to be global
Magnus Hagander [Sun, 26 May 2013 17:16:06 +0000 (13:16 -0400)]
Fixes for new verson of feedparser in wheezy
Magnus Hagander [Sat, 25 May 2013 19:02:57 +0000 (15:02 -0400)]
Update for django 1.4
Magnus Hagander [Tue, 12 Feb 2013 20:28:48 +0000 (21:28 +0100)]
Fix link to signup page
Noted by Quinn Weaver
Magnus Hagander [Tue, 11 Sep 2012 08:16:44 +0000 (10:16 +0200)]
Oops, fix SQL query properly
Magnus Hagander [Tue, 11 Sep 2012 08:15:32 +0000 (10:15 +0200)]
Turn all twitter handles to lowercase when comparing
You can't have different users with twitter handles only differing in
case anyway.
Magnus Hagander [Mon, 13 Aug 2012 11:25:07 +0000 (13:25 +0200)]
Synchronize mailinglist subscriptions using https instead of http
Magnus Hagander [Fri, 20 Jan 2012 12:27:14 +0000 (13:27 +0100)]
Set full user name
This probably got broken when we switched to the new community auth system
Magnus Hagander [Wed, 28 Dec 2011 13:58:13 +0000 (14:58 +0100)]
Fix typo
Magnus Hagander [Tue, 27 Dec 2011 18:36:49 +0000 (19:36 +0100)]
Implement single sign-out with community auth 2.0
Magnus Hagander [Fri, 23 Dec 2011 09:50:03 +0000 (10:50 +0100)]
Switch to postgresql.org community auth 2.0
This makes logins through redirects to the www.postgresql.org site instead
of a local password prompt. Hopefully this will provide both better security
and a better user experience...
Selena Deckelmann [Wed, 23 Nov 2011 23:49:01 +0000 (15:49 -0800)]
Retabbed (ugh)
Selena Deckelmann [Wed, 23 Nov 2011 23:02:16 +0000 (15:02 -0800)]
Allow https URLs
Magnus Hagander [Fri, 11 Nov 2011 16:47:00 +0000 (17:47 +0100)]
Move policy page to the wiki
Magnus Hagander [Sat, 24 Sep 2011 11:04:08 +0000 (13:04 +0200)]
Don't throw exception when approving a blog with no name
Magnus Hagander [Thu, 18 Aug 2011 16:16:55 +0000 (18:16 +0200)]
Remove @ signs from twitter names
Magnus Hagander [Mon, 11 Apr 2011 12:02:16 +0000 (14:02 +0200)]
Add script to generate the short URLs on the commandline, for old posts
Magnus Hagander [Mon, 28 Mar 2011 18:00:48 +0000 (20:00 +0200)]
Clearly in need of more testing... Need id, not title
Magnus Hagander [Mon, 28 Mar 2011 17:57:46 +0000 (19:57 +0200)]
Fix completely messed up copy/paste
Magnus Hagander [Mon, 28 Mar 2011 15:17:28 +0000 (17:17 +0200)]
Generate twitter links using postgr.es instead of bit.ly
Magnus Hagander [Mon, 28 Mar 2011 13:48:58 +0000 (15:48 +0200)]
Add support for generating local shortnames for twitter posts
Do a simple base64 encoding of the id value, and pass this to
http://postgr.es/p/<id>.
Magnus Hagander [Mon, 28 Mar 2011 13:36:51 +0000 (15:36 +0200)]
Forgot to make redirector.py executable..
Magnus Hagander [Mon, 28 Mar 2011 13:35:44 +0000 (15:35 +0200)]
Add URL redirector for http://postgr.es/p/<id>
Not used yet, need to deploy the redirector before it can be used..
Magnus Hagander [Mon, 14 Mar 2011 12:57:59 +0000 (13:57 +0100)]
Ensure twitter status messages are utf-8 encoded
Magnus Hagander [Fri, 11 Mar 2011 12:10:41 +0000 (13:10 +0100)]
Remove imported feedparser.py, instead relying on the one that's installed on the system
Magnus Hagander [Sun, 6 Mar 2011 15:31:41 +0000 (16:31 +0100)]
Check server status before we check the contents of the feed
By checking the contents first, we'd get an exception before
we got to the status check, and thus generate an incorrect message
Magnus Hagander [Sun, 13 Feb 2011 12:13:20 +0000 (13:13 +0100)]
Add csrf_token, required by newer Django versions
Magnus Hagander [Fri, 10 Dec 2010 19:39:00 +0000 (20:39 +0100)]
Fix incorrect markup
Also move the "reset http time" so that it's available to non-superuser,
which was really the reason is was created in the first place...
Magnus Hagander [Thu, 9 Dec 2010 10:17:29 +0000 (11:17 +0100)]
Add admin link to reset http time for a blog
In case the blog incorrectly changes things backwards in time, or
similar situations where the If-Modified-Since header actually points
beyond the end of the blog, we don't get the latest posts. It's really
a problem on the blog side from what I can tell, but this gives the
blog owner a chance to reset the counter and re-fetch the whole blog.
Magnus Hagander [Thu, 9 Dec 2010 10:16:16 +0000 (11:16 +0100)]
Fix typo
Magnus Hagander [Thu, 2 Sep 2010 20:24:31 +0000 (22:24 +0200)]
Highlight code/pre blocks in planet posts.
Joshua Drake
Magnus Hagander [Thu, 2 Sep 2010 12:35:21 +0000 (14:35 +0200)]
If the given Last-Modified value is too far in the future, rewrite it to now().
Some blogs would return Last-Modified as 2038-<something>, yet still honor
the If-Modified-Since: 2038-<something> header and thus never deliver any
feeds at all..
Magnus Hagander [Sat, 28 Aug 2010 12:20:59 +0000 (14:20 +0200)]
Support cursors when listing subscribers to a list.
It seems the twitter api always uses this even though it's supposed
to be optional.
Magnus Hagander [Sat, 28 Aug 2010 12:05:00 +0000 (14:05 +0200)]
Update sample INI file with a reborn and a new parameter.
Magnus Hagander [Sat, 28 Aug 2010 12:04:38 +0000 (14:04 +0200)]
Make the name of the twitter list configurable.
Magnus Hagander [Sat, 28 Aug 2010 12:01:51 +0000 (14:01 +0200)]
The list_subscribers function belongs in TwitterClient
Magnus Hagander [Sat, 28 Aug 2010 11:59:59 +0000 (13:59 +0200)]
Refactor the posttotwitter.py script to use TwitterClient.
Magnus Hagander [Sat, 28 Aug 2010 11:53:20 +0000 (13:53 +0200)]
Add a script that synchronizes a twitter list with the list of subscribers.
In passing, create a TwitterClient base class for use for all communication
with twitter.
Magnus Hagander [Tue, 24 Aug 2010 13:24:02 +0000 (15:24 +0200)]
Store the Last-Modified time as received from the webserver.
Use this for If-Modified-Since, instead of just using the timestamp
of the latest blog post found.
This should keep us from pulling the full feed from any blog that
has modified the contents of a post (or comments) without updating
the post date/GUID.