Skip to content
Browse files

Notes on things I think should become services

  • Loading branch information...
1 parent 2fd4480 commit 3349d373d22043a4d882105bbfb7c946271544be Simon Willison committed
Showing with 39 additions and 0 deletions.
  1. +39 −0 planned_services.txt
View
39 planned_services.txt
@@ -0,0 +1,39 @@
+What should be a service?
+=========================
+
+As a general rule, services should be things that get configured in some way.
+Not everything in Django should be converted in to a service. If a component
+doesn't require any per-site configuration (e.g. forms, syndication feeds) it
+should probably be left as a regular library.
+
+Stuff in Django that should be a service
+----------------------------------------
+* Caching
+* Templating
+* Sending e-mail
+* "Current user" authentication
+* Sessions
+* Database connection - django.db.connection
+* Higher level ORM
+* File storage
+* Sites - or at least the concept of the "current site"
+
+Stuff that isn't yet in Django but should be a service
+------------------------------------------------------
+* HTTP client
+* Logging
+* Message queue
+* Cryptography (in particular signing things)
+
+Stuff that shouldn't be a service
+---------------------------------
+* The admin: it's just an application
+* Signals: they are part of core Django itself
+* Forms: they are a library, they don't need configuring at all
+* Testing: core Django, lives above services as has tools for mocking them
+* Sitemaps / syndication: again, these are libraries
+
+Stuff I'm not sure about
+------------------------
+* i18n / translation
+* Content Types / generic relations

0 comments on commit 3349d37

Please sign in to comment.
Something went wrong with that request. Please try again.