<?xml version="1.0" encoding="UTF-8"?>




<rss version="2.0"> <channel> <title>Evernote Openbook: public</title>
<link>http://www.evernote.com/pub/vmann/public</link>
<description>Notes from vmann&#039;s  Evernote Openbook: public</description> 

  
  <lastBuildDate>Sun, 07 Jun 2009 14:27:20 GMT</lastBuildDate>
 
  
  <item> <title>Django | Writing your first Django app</title> <link>http://www.evernote.com/pub/vmann/public#328ee3f8-c65f-4e5a-bce6-0e05c91b10b9</link>
  <description><![CDATA[
    
    
    
        <a href="http://www.evernote.com/pub/vmann/public#328ee3f8-c65f-4e5a-bce6-0e05c91b10b9"><img align="right" src="http://www.evernote.com/shard/s3/thumb/328ee3f8-c65f-4e5a-bce6-0e05c91b10b9"/></a>
        <div class="ennote">Writing your first Django app, part 1<p>Let’s learn by example.</p><p>Throughout this tutorial, we’ll walk you through the creation of a basic poll application.</p><p>It’ll consist of two parts:</p><ul><li>A public site that lets people view polls and vote in them.</li><li>An admin site that lets you add, change and delete polls.</li></ul><p>We’ll assume you have <a shape="rect">Django installed</a> already. You can tell Django is installed by running the Python interactive interpreter and typing import django. If that command runs successfully, with no errors, Django is installed.</p><div><p>Where to get help:</p><p>If you’re having trouble going through this tutorial, please post a message to <a href="http://groups.google.com/group/django-users" shape="rect">django-users</a> or drop by <a shape="rect">#django on irc.freenode.net</a> to chat with other Django users who might be able to help.</p></div><div>Creating a project<p>If this is your first time using Django, you’ll have to take care of some initial setup. Namely, you’ll need to auto-generate some code that establishes a Django <a shape="rect">project</a> – a collection of settings for an instance of Django, including database configuration, Django-specific options and application-specific settings.</p><p>From the command line, cd into a directory where you’d like to store your code, then run the command <a href="http://django-admin.py" shape="rect">django-admin.py</a> startproject mysite. This will create a mysite directory in your current directory.</p><div><p>Mac OS X permissions</p><p>If you’re using Mac OS X, you may see the message “permission denied” when you try to run <a href="http://django-admin.py" shape="rect">django-admin.py</a> startproject. This is because, on Unix-based systems like OS X, a file must be marked as “executable” before it can be run as a program. To do this, open Terminal.app and navigate (using the cd command) to the directory where <a shape="rect">django-admin.py</a> is installed, then run the command chmod +x <a href="http://django-admin.py" shape="rect">django-admin.py</a>.</p></div><div><p>Note</p><p>You’ll need to avoid naming projects after built-in Python or Django components. In particular, this means you should avoid using names like django (which will conflict with Django itself) or test (which conflicts with a built-in Python package).</p></div><p><a shape="rect">django-admin.py</a> should be on your system path if you installed Django via python <a href="http://setup.py" shape="rect">setup.py</a>. If it’s not on your p...</p></div></div>
    
    ]]></description> <pubDate>Sun, 07 Jun 2009 14:27:20 GMT</pubDate> <guid>http://www.evernote.com/pub/vmann/public#328ee3f8-c65f-4e5a-bce6-0e05c91b10b9</guid> 
  
    <enclosure url="http://www.evernote.com/shard/s3/thumb/328ee3f8-c65f-4e5a-bce6-0e05c91b10b9"
               length="0" type="image/jpeg"/>
  
  </item>

  
  <item> <title>Using Django 1.0 on App Engine with Zipimport - Google App Engine - Google Code</title> <link>http://www.evernote.com/pub/vmann/public#e69048db-fa40-4dfc-91bd-7ed1e88f447a</link>
  <description><![CDATA[
    
    
    
        
        <div class="ennote">Using Django 1.0 on App Engine with Zipimport
<i>Dan Sanderson</i><br clear="none"/><i>September 2008</i><div><div>Introduction
<p>Using a Python web application framework with your App Engine application is usually as simple as including the files for the framework with your application's code. However, there is a limit to the number of files that can be uploaded for an application, and the standard distributions for some frameworks exceed this limit or leave little room for application code. You can work around the file limit using Python's &quot;zipimport&quot; feature, which is supported by App Engine as of the 1.1.3 release (September 2008).
</p><p>This article describes how to use Django 1.0 with Google App Engine using the &quot;zipimport&quot; feature. You can use similar techniques with other frameworks, libraries or large applications.
</p>Introducing zipimport
<p>When your application imports a module, Python looks for the module's code in one of several directories. You can access and change the list of directories Python checks from Python code using sys.path. In App Engine, your handler is called with a path that includes the App Engine API and your application root directory.
</p><p>If any of the items in sys.path refers to a ZIP-format archive, Python will treat the archive as a directory. The archive contains the .py source files for one or more modules. This feature is supported by a module in the standard library called zipimport, though this module is part of the default import process and you do not need to import this module directly to use it. For more information about zipimport, see <a href="http://docs.python.org/lib/module-zipimport.html" shape="rect">the zipimport documentation</a>.
</p><p>To use module archives with your App Engine application:
</p><ol><li>Create a ZIP-format archive of the modules you want to bundle.</li><li>Put the archive in your application directory.</li><li>If necessary, in your handler scripts, add the archive file to sys.path.</li></ol><p>For example, if you have a ZIP archive named django.zip with the following files in it:
</p>django/forms/__init__.py
django/forms/fields.py
django/forms/forms.py
django/forms/formsets.py
django/forms/models.py
...

<p>A handler script can i...</p></div></div></div>
    
    ]]></description> <pubDate>Sun, 07 Jun 2009 02:31:53 GMT</pubDate> <guid>http://www.evernote.com/pub/vmann/public#e69048db-fa40-4dfc-91bd-7ed1e88f447a</guid> 
  
  </item>

  
  <item> <title>Using the Google App Engine Helper for Django - Google App Engine - Google Code</title> <link>http://www.evernote.com/pub/vmann/public#619a71a8-074c-40ea-9364-fc9ca76a9b97</link>
  <description><![CDATA[
    
    
    
        
        <div class="ennote">Using the Google App Engine Helper for Django
<i>Matt Brown</i><br clear="none"/><i>May 2009</i><div><div>Introduction
<p>Google App Engine supports running any WSGI compliant application. Since Django supports this standard it is possible to build (or port existing) Django applications to run on Google App Engine.
</p><p>This article will walk you through the process of starting a new Django project and getting it running on Google App Engine by reproducing the initial steps of creating the Polls application from the <a href="http://www.djangoproject.com/documentation/tutorial01/" shape="rect">official Django tutorial</a>. At each step the changes required for the App Engine environment are highlighted.
</p><p>Before getting started you need to ensure that you have installed Python 2.5 and the Google App Engine SDK. The article also assumes you have previous experience with Django itself.
</p>Understanding the Google App Engine and Django Environments
<p>The environment provided by Google App Engine differs from what a Django application expects in two major ways.
</p><ol><li>Google App Engine does not provide an SQL database so you cannot use Django's standard Model class.</li><li>Google App Engine restricts certain module imports and actions that Django tries to perform (such as creating and removing the test database).</li></ol><p>We have created a helper that prevents you from needing to worry about most of these differences. The helper works by providing alternative implementations for the portions of Django that do not work with Google App Engine.
</p>Obtaining the Helper
<p>The helper can be downloaded from the open source project at <a href="http://code.google.com/p/google-app-engine-django" shape="rect">http://code.google.com/p/google-app-engine-django</a>.
</p><p>Download and extract the helper source archive into a directory called mysite
</p><p>Within the directory you will see the standard Django project structure (<a href="http://settings.py" shape="rect">settings.py</a>, <a href="http://urls.py" shape="rect">urls.py</a>, etc) and a subdirectory (or application in Django terminology) named appengine_django. This is the helper that performs the work of integrating the Django and Google App Engine environments.
</p>Accessing the Google App Engine SDK
<p>The helper needs access to the Google App Engine SDK. If you are running on Mac OS and you used the installer provid...</p></div></div></div>
    
    ]]></description> <pubDate>Sun, 07 Jun 2009 02:04:10 GMT</pubDate> <guid>http://www.evernote.com/pub/vmann/public#619a71a8-074c-40ea-9364-fc9ca76a9b97</guid> 
  
  </item>

  
  <item> <title>MetaWeblog &amp; Django</title> <link>http://www.evernote.com/pub/vmann/public#42a7d561-9512-470c-9348-2444f315422e</link>
  <description><![CDATA[
    
    
    
        
        <div class="ennote"><a title="MetaWeblog &amp; Django" rel="bookmark" shape="rect">MetaWeblog &amp; Django</a><div>Greg Abbas
</div>Sun Jun 11th 2006 in <a rel="tag" shape="rect">Django</a>, <a rel="tag" shape="rect">Web</a>
<div><p>As I mentioned previously, I wanted to integrate Ecto with my new Django-based blog using the &quot;MetaWeblog&quot; remote procedure call API. With an <a shape="rect">XMLRPC implementation ready to go</a>, the remaining task is to write MetaWeblog methods and hook them up to my blog model. The model is pretty straightforward; for instance, here are the fields for &quot;Post&quot; object:
</p><div>class Post(models.Model):<br clear="none"/>    title = models.CharField(maxlength=200)<br clear="none"/>    slug = models.SlugField(prepopulate_from=('title',))<br clear="none"/>    pub_date = models.DateTimeField('date published', blank=True, null=True)<br clear="none"/>    create_date = models.DateTimeField('date created', auto_now_add=True,<br clear="none"/>        blank=True, null=True)<br clear="none"/>    update_date = models.DateTimeField('date updated', auto_now=True,<br clear="none"/>        blank=True, null=True)<br clear="none"/>    body = models.TextField()<br clear="none"/>    tags = models.ManyToManyField(Tag)<br clear="none"/>    author = models.ForeignKey(User)<br clear="none"/>    status = models.CharField(maxlength=32, choices=STATUS_CHOICES,<br clear="none"/>        radio_admin=True, default='Draft')<br clear="none"/>
</div><p>The MetaWeblog API is <a href="http://www.xmlrpc.com/metaWeblogApi" shape="rect">pretty well documented</a>, but has some features that I'm not quite ready to tackle. For instance, I only have a single user with a single blog, you have to be a &quot;super user&quot; to edit it (no sophisticated authorization scheme yet), and I haven't done media objects (e.g., images) yet either.
</p><p>Most every method takes &quot;username&quot; and &quot;password&quot; parameters, so I wrote an &quot;authenticated&quot; wrapper function to convert them to a user object (and throw an exception if there are any authentication or authorization issues). Then the various methods are short, because the Django database/model API makes things easy. For instance, the method to get information about a blog post (given a post id) is called &quot;getPost&quot;. My implementation looks up the post object by id, and then calls a function to turn it into the struct that MetaWeblog requires:
</p><div>@public<br clear="none"/>@authenticated()<br clear="none"/>def metaWeblog_getPost(user, postid):<br clear="none"/>    post = Post.objects.get(id=postid)<br clear="none"/>    return post_struct(post)<br clear="none"/><br clear="none"/>def post_struct(post):<br clear="none"/>    link = fu...</div></div></div>
    
    ]]></description> <pubDate>Fri, 05 Jun 2009 06:03:39 GMT</pubDate> <guid>http://www.evernote.com/pub/vmann/public#42a7d561-9512-470c-9348-2444f315422e</guid> 
  
  </item>

  
  <item> <title>XMLRPC in Django</title> <link>http://www.evernote.com/pub/vmann/public#023c5e35-1e00-4582-b969-8c628db669c9</link>
  <description><![CDATA[
    
    
    
        
        <div class="ennote"><a title="XMLRPC in Django" rel="bookmark" shape="rect">XMLRPC in Django</a><div>Greg Abbas
</div>Sat Jun 3rd 2006 in <a rel="tag" shape="rect">Django</a>, <a rel="tag" shape="rect">Python</a>
<div><p>In setting up a blog server, one of my requirements was that I wanted to use a desktop client to write articles, instead of doing it in an HTML form in a web browser. I accomplished that by purchasing <a href="http://ecto.kung-foo.tv/" shape="rect">Ecto</a> (which I'm using to type this article) and adding a MetaWeblog interface to the server. Here's the first of two articles on how I did it. Today's article talks about the XMLRPC layer, and the second in this series will conclude with the MetaWeblog implementation itself.
</p><p>MetaWeblog is a network API for posting blog articles, and it's one of the ways that Ecto can talk to a Blog server. There are some other common blog APIs, including Typepad, Moveable Type, Blogger, and Atom, and I could have chosen any of them. As I mentioned in a <a shape="rect">previous post</a>, I strongly considered Atom, because it seems to be the newest contender and claims to address some of MetaWeblog's shortcomings. And it's RESTful, which is elegant. But when I tested Ecto with the Atom API, it didn't seem to support images. I don't know whether that's Ecto's fault or Atom's fault, but it would be a problem for me in any case. So I decided to be pragmatic and go with MetaWeblog for now.
</p><p>MetaWeblog is based on <a href="http://www.xmlrpc.com/" shape="rect">XMLRPC</a>, which (like the name suggests) is a protocol for making remote procedure calls over HTTP. So the first order of business was to add XMLRPC support to Django. I'm not the first person to do that; Amit Upadhyay and Georg &quot;hugo&quot; Bauer have done some good work in this area, and have some excellent ideas about how it ought to fit into Django as you can see from their comments on <a href="http://code.djangoproject.com/ticket/115" shape="rect">Django ticket #115</a>. Amit's implementation looked similar to what I had in mind, so I started with his code. Here's what I came up with: <a shape="rect">xmlrpc.py</a>.
</p><p>The basic idea of XMLRPC is that a client (like Ecto) makes a procedure call (like &quot;publish new post&quot;) by POSTing an XML document over HTTP. The web server (running Django, in this case) parses the XML into a method name and an unmarshalled set of arguments. It then ...</p></div></div>
    
    ]]></description> <pubDate>Fri, 05 Jun 2009 06:03:12 GMT</pubDate> <guid>http://www.evernote.com/pub/vmann/public#023c5e35-1e00-4582-b969-8c628db669c9</guid> 
  
  </item>

  
  <item> <title>The Atom Syndication Format</title> <link>http://www.evernote.com/pub/vmann/public#528100cc-bd57-4fe5-8b74-cc80b6fb11c8</link>
  <description><![CDATA[
    
    
    
        
        <div class="ennote">Network Working Group  M. Nottingham, Editor  Request for Comments: 4287  R. Sayre, Editor  Category: Standards Track  December 2005  <p>The Atom Syndication Format
</p><a name="rfc.status" shape="rect">Status of this Memo</a><p>This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
</p><a name="rfc.copyrightnotice" shape="rect">Copyright Notice</a><p>Copyright © The Internet Society (2005). All Rights Reserved.
</p><a shape="rect">Abstract</a><p>This document specifies Atom, an XML-based Web content and metadata syndication format.
</p><a shape="rect">Table of Contents</a><ul><li>1.   <a shape="rect">Introduction</a>1.1   <a shape="rect">Examples</a>1.2   <a shape="rect">Namespace and Version</a>1.3   <a shape="rect">Notational Conventions</a></li><li>2.   <a shape="rect">Atom Documents</a></li><li>3.   <a shape="rect">Common Atom Constructs</a>3.1   <a shape="rect">Text Constructs</a>3.1.1   <a shape="rect">The &quot;type&quot; Attribute</a>3.1.1.1   <a shape="rect">Text</a>3.1.1.2   <a shape="rect">HTML</a>3.1.1.3   <a shape="rect">XHTML</a>3.2   <a shape="rect">Person Constructs</a>3.2.1   <a shape="rect">The &quot;atom:name&quot; Element</a>3.2.2   <a shape="rect">The &quot;atom:uri&quot; Element</a>3.2.3   <a shape="rect">The &quot;atom:email&quot; Element</a>3.3   <a shape="rect">Date Constructs</a></li><li>4.   <a shape="rect">Atom Element Definitions</a>4.1   <a shape="rect">Container Elements</a>4.1.1   <a shape="rect">The &quot;atom:feed&quot; Element</a>4.1.2   <a shape="rect">The &quot;atom:entry&quot; Element</a>4.1.3   <a shape="rect">The &quot;atom:content&quot; Element</a>4.1.3.1   <a shape="rect">The &quot;type&quot; Attribute</a>4.1.3.2   <a shape="rect">The &quot;src&quot; Attribute</a>4.1.3.3   <a shape="rect">Processing Model</a>4.1.3.4   <a shape="rect">Examples</a>4.2   <a shape="rect">Metadata Elements</a>4.2.1   <a shape="rect">The &quot;atom:author&quot; Element</a>4.2.2   <a shape="rect">The &quot;atom:category&quot; Element</a>4.2.2.1   <a shape="rect">The &quot;term&quot; Attribute</a>4.2.2.2   <a shape="rect">The &quot;scheme&quot; Attribute</a>4.2.2.3   <a shape="rect">The &quot;label&quot; Attribute</a>4.2.3   <a shape="rect">The &quot;atom:contributor&quot; Element</a>4.2.4   <a shape="rect">The &quot;atom:generator&quot; Element</a>4.2.5   <a shape="rect">The &quot;atom:icon&quot; Element</a>4.2.6   <a shape="rect">The &quot;atom:id&quot; Element</a>4.2.6.1   <a shape="rect">Comparing atom:id</a>4.2.7   <a shape="rect">The &quot;atom:link&quot; Element</a>4.2.7.1   <a shape="rect">The &quot;href&quot; Attribute</a>4.2.7.2   <a shape="rect">The &quot;rel&quot; Attribute</a>4.2.7.3   <a shape="rect">The &quot;type&quot; Attribute</a>4.2.7.4   <a shape="rect">The &quot;hreflang&quot; Attribute</a>4.2.7.5   <a shape="rect">The &quot;title&quot; Attribute</a>4.2.7.6   <a shape="rect">The &quot;length&quot; Attribute</a>4.2.8   <a shape="rect">The &quot;atom:logo&quot; Element</a>4.2.9   <a shape="rect">The &quot;atom:published&quot; Element</a>4.2.10   <a shape="rect">The &quot;atom:rights&quot; Element</a>4.2.11   <a shape="rect">The &quot;atom:source&quot; Element</a>4.2.12   <a shape="rect">The &quot;atom:subtitle&quot; ...</a></li></ul></div>
    
    ]]></description> <pubDate>Fri, 05 Jun 2009 05:14:15 GMT</pubDate> <guid>http://www.evernote.com/pub/vmann/public#528100cc-bd57-4fe5-8b74-cc80b6fb11c8</guid> 
  
  </item>

  
  <item> <title>The Atom Publishing Protocol</title> <link>http://www.evernote.com/pub/vmann/public#8d4cb14c-e571-4f60-bafe-aef471eef4fc</link>
  <description><![CDATA[
    
    
    
        
        <div class="ennote">Network Working Group J.C. Gregorio, Editor Request for Comments: 5023 Google Category: Standards Track B. de hOra, Editor NewBay Software October 2007 <p>The Atom Publishing Protocol
</p><a name="rfc.status" shape="rect">Status of this Memo</a><p>This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the “Internet Official Protocol Standards” (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
</p><a name="rfc.copyrightnotice" shape="rect">Copyright Notice</a><p>Copyright © The IETF Trust (2007). All Rights Reserved.
</p><a shape="rect">Abstract</a><p>The Atom Publishing Protocol (AtomPub) is an application-level protocol for publishing and editing Web resources. The protocol is based on HTTP transfer of Atom-formatted representations. The Atom format is documented in the Atom Syndication Format.
</p><a shape="rect">Table of Contents</a><ul><li>1.   <a shape="rect">Introduction</a></li><li>2.   <a shape="rect">Notational Conventions</a>2.1   <a shape="rect">XML-Related Conventions</a>2.1.1   <a shape="rect">Referring to Information Items</a>2.1.2   <a shape="rect">RELAX NG Schema</a>2.1.3   <a shape="rect">Use of &quot;xml:base&quot; and &quot;xml:lang&quot;</a></li><li>3.   <a shape="rect">Terminology</a></li><li>4.   <a shape="rect">Protocol Model</a>4.1   <a shape="rect">Identity and Naming</a>4.2   <a shape="rect">Documents and Resource Classification</a>4.3   <a shape="rect">Control and Publishing</a>4.4   <a shape="rect">Client Implementation Considerations</a></li><li>5.   <a shape="rect">Protocol Operations</a>5.1   <a shape="rect">Retrieving a Service Document</a>5.2   <a shape="rect">Listing Collection Members</a>5.3   <a shape="rect">Creating a Resource</a>5.4   <a shape="rect">Editing a Resource</a>5.4.1   <a shape="rect">Retrieving a Resource</a>5.4.2   <a shape="rect">Editing a Resource</a>5.4.3   <a shape="rect">Deleting a Resource</a>5.5   <a shape="rect">Use of HTTP Response Codes</a></li><li>6.   <a shape="rect">Protocol Documents</a>6.1   <a shape="rect">Document Types</a>6.2   <a shape="rect">Document Extensibility</a></li><li>7.   <a shape="rect">Category Documents</a>7.1   <a shape="rect">Example</a>7.2   <a shape="rect">Element Definitions</a>7.2.1   <a shape="rect">The &quot;app:categories&quot; Element</a>7.2.1.1   <a shape="rect">Attributes of &quot;app:categories&quot;</a></li><li>8.   <a shape="rect">Service Documents</a>8.1   <a shape="rect">Workspaces</a>8.2   <a shape="rect">Example</a>8.3   <a shape="rect">Element Definitions</a>8.3.1   <a shape="rect">The &quot;app:service&quot; Element</a>8.3.2   <a shape="rect">The &quot;app:workspace&quot; Element</a>8.3.2.1   <a shape="rect">The &quot;atom:title&quot; Element</a>8.3.3   <a shape="rect">The &quot;app:collection&quot; Element</a>8.3.3.1   <a shape="rect">The &quot;href&quot; Attribute</a>8.3.3.2   <a shape="rect">The &quot;atom:title&quot; Element</a>8.3.4   <a shape="rect">The &quot;app:accept&quot; Element</a>8.3.5   <a shape="rect">Usage in Atom Feed Documents</a>8.3.6   &lt;a...</li></ul></div>
    
    ]]></description> <pubDate>Fri, 05 Jun 2009 05:11:21 GMT</pubDate> <guid>http://www.evernote.com/pub/vmann/public#8d4cb14c-e571-4f60-bafe-aef471eef4fc</guid> 
  
  </item>

  
  <item> <title>MetaWeblog API: MetaWeblog API Specification</title> <link>http://www.evernote.com/pub/vmann/public#d1c80ef4-b5a6-496f-9cb2-e7915c49e160</link>
  <description><![CDATA[
    
    
    
        
        <div class="ennote">MetaWeblog API Specification
<div><div><a shape="rect">Introduction</a><p>The MetaWeblog API is an application programming interface that enables software to read and write weblog posts stored on a web server. The API has been implemented as an <a href="http://www.xmlrpc.info/" shape="rect">XML-RPC</a> web service, so there are implementations supporting the API available in many popular programming languages.
</p><p>The MetaWeblog API is designed to extend the <a href="http://www.bloggerapi.com/" shape="rect">Blogger API</a>, a blogging API that only can read and write the text of weblog posts. An additional API was needed to read and write elements such as a blog post's title, file enclosures, and categories.
</p><p>Most software that supports the Blogger API also supports the MetaWeblog API, and vice versa.
</p><a shape="rect">Data Types</a><p>The API employs the data types defined in XML-RPC, including the scalar types base64, boolean, int and string and the composite types array and struct.
</p><a shape="rect">Error Handling</a><p>Applications that implement the API should use the fault-response scheme defined by XML-RPC. For example, trying to read, write, or edit a post without providing a valid username and password should generate a fault. Applications should display the error string to the user in a dialog box or server log, as appropriate.
</p><a shape="rect">Use of RSS 2.0</a><p>The API uses a struct to represent a blog post. Within the struct, the components of the post are represented by the elements of an <a href="http://www.rssboard.org/rss-specification#hrelementsOfLtitemgt" shape="rect">item</a> in the <a href="http://www.rssboard.org/rss-specification" shape="rect">RSS</a> syndication format, adopting the same name and usage as their RSS counterparts. Items in RSS can be extended by elements from namespaces, so the same is permitted in the MetaWeblog API.
</p><p>There's one exception: Categories are represented by a member named categories in the MetaWeblog API, unlike the RSS element which is named category.
</p><a shape="rect">Common Parameters</a><p>Several of the API's methods employ the same parameters: blogId, password, postId, publish, and username.
</p><p>The blogId, password, publish and username parameters are the same as the ones in the Blogger API. The blogId parameter is a string that contains a unique identifier for a blog. The username and password parameters are strings that contain authentication crede...</p></div></div></div>
    
    ]]></description> <pubDate>Fri, 05 Jun 2009 05:05:57 GMT</pubDate> <guid>http://www.evernote.com/pub/vmann/public#d1c80ef4-b5a6-496f-9cb2-e7915c49e160</guid> 
  
  </item>
 </channel> </rss>