• I broke the chain with a weekend off after about 3 months of working on Tanzawa a bit each and everyday. Today I'm back at it and I made a small api that imports images from Wordpress. Tomorrow I should be able to build a small interface that'll loop through the attachments and automatically download them.
  • Managed to get the category to stream and post kindΒ  to (tanzawa) post kind mappings working. I also got the attachment import records saving properly.Β 

    My basic plan for importing attachments is as follows. Each photo in Wordpress is exported as a post with the post type as "attachment". The guid for the item is the url for the attached file. So, I've created a record has a foreign key to the originating wordpress import record, the post guid, my own uuid, and a nullable foreign key to the resulting Tanzawa file attachment.Β 

    Once the file has been imported, I'll have a Tanzawa file attachment set so I'll easily be able to pick up where I left off.Β 

    Also since I'm keeping the originally uploaded Wordpress export file around and references between Tanzawa data and imported data, as I add features and capabilities to Tanzawa, I'll have the option to go back and pull in meta-data from Wordpress that I skipped on the initial import.
  • I've got the base interface for mapping categories to streams worked out. Adding a new stream directs you to the django admin, which isn't ideal from a user perspective, I kinda like it because modifying system data should be different.

    The base category mapping interface


  • Have got the base upload form working. After uploading the file it's automatically creating placeholder records for all post formats (Wordpress' build in Post Kind),Β  Categories, and Post Kinds.Β 

    But thinking more about the actual worflow, I think it will be better not automatically create those records and truly split it separate steps. So after uploading the file you're taken to a list page with a list of all uploaded Wordpress files.

    Next to each filename there will be five buttons: "Set Category Mapping", "Set Post Format Mapping" ,Β  "Set Post Kind Mapping" (if found), "Import Media", and "Import Posts".Β  The "Import Posts" button will be disabled until mapping has been setup and media has been imported.

    Uploading the file will automatically redirect you to the "Set CategoryΒ  Mapping" page, but if you leave the process midway through you'll be able to pickup where you left off.

    The base Wordpress import form
  • Getting the base models used for importing Wordpress posts into Tanzawa built has made the task feel a bit less daunting. There's a clear path forward.
  • Parsing the Wordpress XML file with feedparser strips all of the Wordpress specific data. But it looks like I can use BeautifulSoup (which I'm using elsewhere) to get what I need. The "xml" parser preserves the CData, so I can get the encoded data, too. Progress.

    Example of getting content from Wordpress export files with Python
  • Shipped full support for checkins and syndication urls . Yay! πŸŽ‰ Next up is support for importing posts from Wordpress...😬
  • I got the web interface working for adding and removing of syndication urls. Nice and simple. Once I've got them marking up properly, I think they're ready to ship!

    Adding syndication urls in Tanzawa
  • Back to building some base infrastructure again. This time for adding / deleting syndication urls. Deleting is simple enough – it's just a (hidden) checkbox with a small stimulus controller setup to toggle its label text between "Remove" and "Undo".

    Adding a secondary form also works. I output an empty formset form into my template then use a small action to copy it, replace the id and update the management form, 5 lines of code, half of which is variable definitions.

    My goal is to be able to reuse this whenever I need to add multiple related records to a post without any modifications.
  • Creating a slick checkin experience is out of the scope of a personal website, so you'll need to use Swarm (or such) to checkin and backfeed them into Tanzawa. However, I often find myself wanting to expand that check into a proper blog post – to tell a story about what happened. So you should be able to edit a checkin on your blog.

    The edit checkin page is the same all other edit pages, except it has two fields at the top: Where did you go? and What's its url?

    Extra fields on checkin posts


    I also started working on being able to add syndication urls to posts. I've already added support via micropub to save syndication urls. This lets you add / remove them for non-micropub posts.

    Syndication urls

    When you can eventually set your identities on other sites in Tanzawa, it might be fun to customize the placeholder text. For example you could get it to use your username or randomly use different sites e.g. twitter on the first load, flickr on the second load etc...
Previous 45 of 61 Next