aquagremlin

Q: how to edit web journal from iPhoto on a mac

I like the primitive website building functionality that iphoto has which is named a 'web journal' and 'slideshows'.

However I would like more granularitty, control and creativity allowed. To explore this possibility i used iExplorer to investigate an unmodified ipad (not jailbroken or hacked in any way). The root folder of the ipad has several directories named Apps, Backups,Photos,iCloud,Books, Media Library and Bookmarks.

In 'iCloud' is a directory named 'iPhoto' and in it are two directories named Documents and Public. Inside Documents is a folder called projects and inside it are directories for each of the web projects. Each directory has a name, for example, 25264BD0-94BC-405C-9998-464141034BDC, and each contains a file named project.plist. The plist is a sort of markdown or html file - dont really know but here is an excerpt

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

          <key>album</key>

          <dict>

                    <key>dateModified</key>

                    <real>407111416.62261802</real>

                    <key>flags</key>

                    <integer>0</integer>

                    <key>itemCount</key>

                    <integer>5</integer>

                    <key>name</key>

                    <string>Unix's Journal</string>

                    <key>oldestDateCreated</key>

                    <real>347068886</real>

                    <key>posterMediaUuid</key>

                    <string>12E1FFA2-412B-4A03-8D91-8148DA8987E3</string>

                    <key>projectUuid</key>

                    <string>25264BD0-94BC-405C-9998-464141034BDC</string>

                    <key>publishingState</key>

                    <integer>0</integer>

                    <key>rating</key>

                    <integer>0</integer>

                    <key>sortIndex</key>

                    <integer>0</integer>

                    <key>type</key>

                    <integer>16777216</integer>

                    <key>uuid</key>

                    <string>3A3937AA-2865-4C6B-AAFB-B0F15C06C1B7</string>

                    <key>youngestDateCreated</key>

                    <real>347087036</real>

          </dict>

          <key>needsAutoLayout</key>

          <false/>

          <key>pages</key>

          <array>

                    <dict>

                              <key>autoLayoutType</key>

                              <integer>0</integer>

                              <key>backgroundColorID</key>

                              <integer>0</integer>

                              <key>columnCount</key>

                              <integer>7</integer>

                              <key>elements</key>

                              <array>

                                        <dict>

                                                  <key>alignment</key>

                                                  <integer>3</integer>

                                                  <key>className</key>

                                                  <string>BLProjectTextElement</string>

                                                  <key>color</key>

                                                  <integer>0</integer>

                                                  <key>contentRepresentation</key>

                                                  <dict>

                                                            <key>fontDescriptions</key>

                                                            <array>

                                                                      <dict>

                                                                                <key>fontName</key>

                                                                                <string>HelveticaNeue</string>

                                                                                <key>range</key>

                                                                                <string>{0, 21}</string>

                                                                      </dict>

                                                            </array>

                                                            <key>fontName</key>

                                                            <string>HelveticaNeue</string>

                                                            <key>fontSize</key>

                                                            <real>34</real>

                                                            <key>horizontalAlignment</key>

                                                            <integer>2</integer>

                                                            <key>kerning</key>

                                                            <real>0.0</real>

                                                            <key>lineHeight</key>

                                                            <real>0.0</real>

                                                            <key>markup</key>

                                                            <string>Unix at Stowe,Vermont</string>

                                                            <key>placeholderString</key>

                                                            <string>Double‑Tap to Edit</string>

                                                            <key>placeholderTextColor</key>

                                                            <dict>

                                                                      <key>colorcomponents</key>

                                                                      <array>

                                                                                <real>0.20000000298023224</real>

                                                                                <real>0.60000002384185791</real>

                                                                      </array>

                                                                      <key>colormodel</key>

                                                                      <integer>0</integer>

                                                            </dict>

                                                            <key>string</key>

                                                            <string>Unix at Stowe,Vermont</string>

                                                            <key>textColor</key>

                                                            <dict>

                                                                      <key>colorcomponents</key>

                                                                      <array>

                                                                                <real>0.20000000298023224</real>

                                                                                <real>1</real>

                                                                      </array>

                                                                      <key>colormodel</key>

                                                                      <integer>0</integer>

                                                            </dict>

                                                            <key>textShadowColor</key>

                                                            <dict>

                                                                      <key>colorcomponents</key>

                                                                      <array>

                                                                                <real>1</real>

                                                                                <real>1</real>

                                                                      </array>

                                                                      <key>colormodel</key>

                                                                      <integer>0</integer>

                                                            </dict>

                                                            <key>textShadowOffset</key>

                                                            <string>{0, 1}</string>

                                                            <key>version</key>

                                                            <real>2</real>

                                                            <key>verticalAlignment</key>

                                                            <integer>0</integer>

                                                  </dict>

                                                  <key>customSize</key>

                                                  <string>{0, 0}</string>

                                                  <key>fixedFrame</key>

                                                  <string>{{0, 0}, {0, 0}}</string>

                                                  <key>fontID</key>

                                                  <integer>3</integer>

                                                  <key>fontSizeAdjustment</key>

                                                  <integer>0</integer>

                                                  <key>ignoresColorOptions</key>

                                                  <false/>

                                                  <key>inlineHeight</key>

                                                  <real>39</real>

                                                  <key>isBackground</key>

                                                  <false/>

                                                  <key>isFullBleed</key>

                                                  <false/>

                                                  <key>isInline</key>

                                                  <true/>

                                                  <key>isOverlay</key>

                                                  <false/>

                                                  <key>isTitle</key>

                                                  <false/>

                                                  <key>rawstring</key>

                                                  <string>Unix at Stowe,Vermont</string>

                                                  <key>rotation</key>

                                                  <real>0.0</real>

                                                  <key>size</key>

                                                  <integer>0</integer>

                                                  <key>subType</key>

                                                  <integer>1</integer>

                                                  <key>type</key>

                                                  <integer>1</integer>

                                                  <key>uuid</key>

                                                  <string>6BB91167-175D-4D85-9201-D05511DC1C36</string>

                                                  <key>verticalAlignment</key>

                                                  <integer>0</integer>

                                        </dict>

                                        <dict>

                                                  <key>className</key>

                                                  <string>BLProjectPhotoElement</string>

                                                  <key>cropInfo</key>

                                                  <string>{{0.5, 0.5}, {1, 0}}</string>

                                                  <key>customSize</key>

                                                  <string>{4, 5}</string>

                                                  <key>fixedFrame</key>

                                                  <string>{{0, 0}, {0, 0}}</string>

                                                  <key>fontKey</key>

                                                  <string>journalPhotoElementHelvetica</string>

                                                  <key>ignoresColorOptions</key>

                                                  <false/>

                                                  <key>inlineHeight</key>

                                                  <real>0.0</real>

                                                  <key>isBackground</key>

                                                  <false/>

                                                  <key>isFullBleed</key>

                                                  <false/>

                                                  <key>isInline</key>

                                                  <false/>

                                                  <key>isOverlay</key>

                                                  <false/>

                                                  <key>isTitle</key>

                                                  <false/>

                                                  <key>mediaCropTransform1</key>

                                                  <string>[1, 0, 0, 1, 0, 0]</string>

                                                  <key>photoUuid</key>

                                                  <string>12E1FFA2-412B-4A03-8D91-8148DA8987E3</string>

                                                  <key>placeholderIndex</key>

                                                  <integer>974</integer>

                                                  <key>rotation</key>

                                                  <real>0.0</real>

                                                  <key>size</key>

                                                  <integer>-1</integer>

                                                  <key>uuid</key>

                                                  <string>C9CA93C4-8B17-4A34-AF78-C67BADC5330C</string>

                                        </dict>

                                        <dict>

                                                  <key>alignment</key>

                                                  <integer>4</integer>

                                                  <key>className</key>

                                                  <string>BLProjectTextElement</string>

                                                  <key>color</key>

                                                  <integer>0</integer>

                                                  <key>contentRepresentation</key>

                                                  <dict>

                                                            <key>fontDescriptions</key>

                                                            <array>

                                                                      <dict>

                                                                                <key>fontName</key>

                                                                                <string>HelveticaNeue</string>

                                                                                <key>range</key>

                                                                                <string>{0, 208}</string>

                                                                      </dict>

                                                            </array>

                                                            <key>fontName</key>

                                                            <string>HelveticaNeue</string>

                                                            <key>fontSize</key>

                                                            <real>17</real>

                                                            <key>horizontalAlignment</key>

                                                            <integer>0</integer>

                                                            <key>kerning</key>

                                                            <real>0.0</real>

                                                            <key>lineHeight</key>

                                                            <real>0.0</real>

                                                            <key>markup</key>

                                                            <string>Snow came in small whips and dusts. Quiet one minute and complaining the next, like a small child. The ground was still soft, not frozen yet. The earth was comfortable to walk on without the treachery of ice.</string>

                                                            <key>placeholderString</key>

                                                            <string>Double‑Tap to Edit</string>

                                                            <key>placeholderTextColor</key>

                                                            <dict>

                                                                      <key>colorcomponents</key>

                                                                      <array>

                                                                                <real>0.20000000298023224</real>

                                                                                <real>0.60000002384185791</real>

                                                                      </array>

                                                                      <key>colormodel</key>

                                                                      <integer>0</integer>

                                                            </dict>

                                                            <key>string</key>

                                                            <string>Snow came in small whips and dusts. Quiet one minute and complaining the next, like a small child. The ground was still soft, not frozen yet. The earth was comfortable to walk on without the treachery of ice.</string>

                                                            <key>textColor</key>

                                                            <dict>

                                                                      <key>colorcomponents</key>

                                                                      <array>

                                                                                <real>0.20000000298023224</real>

                                                                                <real>1</real>

                                                                      </array>

                                                                      <key>colormodel</key>

                                                                      <integer>0</integer>

                                                            </dict>

                                                            <key>textShadowColor</key>

                                                            <dict>

                                                                      <key>colorcomponents</key>

                                                                      <array>

                                                                                <real>1</real>

                                                                                <real>1</real>

                                                                      </array>

                                                                      <key>colormodel</key>

                                                                      <integer>0</integer>

                                                            </dict>

                                                            <key>textShadowOffset</key>

                                                            <string>{0, 1}</string>

                                                            <key>version</key>

                                                            <real>2</real>

                                                            <key>verticalAlignment</key>

                                                            <integer>0</integer>

                                                  </dict>

                                                  <key>customSize</key>

                                                  <string>{3, 1}</string>

                                                  <key>fixedFrame</key>

                                                  <string>{{0, 0}, {0, 0}}</string>

                                                  <key>fontID</key>

                                                  <integer>3</integer>

                                                  <key>fontSizeAdjustment</key>

                                                  <integer>0</integer>

                                                  <key>ignoresColorOptions</key>

                                                  <false/>

                                                  <key>inlineHeight</key>

                                                  <real>0.0</real>

                                                  <key>isBackground</key>

                                                  <false/>

                                                  <key>isFullBleed</key>

                                                  <false/>

                                                  <key>isInline</key>

                                                  <false/>

                                                  <key>isOverlay</key>

                                                  <false/>

                                                  <key>isTitle</key>

                                                  <false/>

                                                  <key>rawstring</key>

                                                  <string>Snow came in small whips and dusts. Quiet one minute and complaining the next, like a small child. The ground was still soft, not frozen yet. The earth was comfortable to walk on without the treachery of ice.</string>

                                                  <key>rotation</key>

                                                  <real>0.0</real>

                                                  <key>size</key>

                                                  <integer>-1</integer>

                                                  <key>subType</key>

                                                  <integer>1</integer>

                                                  <key>type</key>

                                                  <integer>2</integer>

                                                  <key>uuid</key>

                                                  <string>5D49FED6-FE77-4696-9C9E-BD3D1D8F629D</string>

                                                  <key>verticalAlignment</key>

                                                  <integer>0</integer>

                                        </dict>

                                        <dict>

                                                  <key>className</key>

                                                  <string>BLProjectPhotoElement</string>

                                                  <key>cropInfo</key>

                                                  <string>{{0.5, 0.5}, {1, 0}}</string>

                                                  <key>customSize</key>

                                                  <string>{3, 3}</string>

                                                  <key>fixedFrame</key>

                                                  <string>{{0, 0}, {0, 0}}</string>

                                                  <key>fontKey</key>

                                                  <string>journalPhotoElementHelvetica</string>

                                                  <key>ignoresColorOptions</key>

                                                  <false/>

                                                  <key>inlineHeight</key>

                                                  <real>0.0</real>

                                                  <key>isBackground</key>

                                                  <false/>

                                                  <key>isFullBleed</key>

                                                  <false/>

                                                  <key>isInline</key>

                                                  <false/>

                                                  <key>isOverlay</key>

                                                  <false/>

                                                  <key>isTitle</key>

                                                  <false/>

                                                  <key>mediaCropTransform1</key>

                                                  <string>[1, 0, 0, 1, 0, 0]</string>

                                                  <key>photoUuid</key>

                                                  <string>CEA7FD4E-325B-4685-A91D-2920465810EE</string>

                                                  <key>placeholderIndex</key>

                                                  <integer>975</integer>

                                                  <key>rotation</key>

                                                  <real>0.0</real>

                                                  <key>size</key>

                                                  <integer>-1</integer>

                                                  <key>uuid</key>

                                                  <string>31A299B5-E110-4FAE-9550-E00908D2FD5A</string>

                                        </dict>

.

.

.

<dict>

                                                  <key>className</key>

                                                  <string>BLProjectPhotoElement</string>

                                                  <key>cropInfo</key>

                                                  <string>{{0.5, 1}, {1, 0}}</string>

                                                  <key>customSize</key>

                                                  <string>{7, 7}</string>

                                                  <key>fixedFrame</key>

                                                  <string>{{0, 0}, {0, 0}}</string>

                                                  <key>fontKey</key>

                                                  <string>journalPhotoElementHelvetica</string>

                                                  <key>ignoresColorOptions</key>

                                                  <false/>

                                                  <key>inlineHeight</key>

                                                  <real>0.0</real>

                                                  <key>isBackground</key>

                                                  <false/>

                                                  <key>isFullBleed</key>

                                                  <false/>

                                                  <key>isInline</key>

                                                  <false/>

                                                  <key>isOverlay</key>

                                                  <false/>

                                                  <key>isTitle</key>

                                                  <false/>

                                                  <key>mediaCropTransform1</key>

                                                  <string>[1, 0, 0, 1, 0, 0]</string>

                                                  <key>photoUuid</key>

                                                  <string>DE61ED76-B5BB-4FF8-B7BD-F4B22A0416D5</string>

                                                  <key>placeholderIndex</key>

                                                  <integer>978</integer>

                                                  <key>rotation</key>

                                                  <real>0.0</real>

                                                  <key>size</key>

                                                  <integer>-1</integer>

                                                  <key>uuid</key>

                                                  <string>CCC888CB-441F-408A-BF61-0C20D431B368</string>

                                        </dict>

                                        <dict>

                                                  <key>alignment</key>

                                                  <integer>3</integer>

                                                  <key>className</key>

                                                  <string>BLProjectTextElement</string>

                                                  <key>color</key>

                                                  <integer>0</integer>

                                                  <key>contentRepresentation</key>

                                                  <dict>

                                                            <key>fontDescriptions</key>

                                                            <array>

                                                                      <dict>

                                                                                <key>fontName</key>

                                                                                <string>MarkerFelt-Wide</string>

                                                                                <key>range</key>

                                                                                <string>{0, 59}</string>

                                                                      </dict>

                                                            </array>

                                                            <key>fontName</key>

                                                            <string>MarkerFelt-Wide</string>

                                                            <key>fontSize</key>

                                                            <real>22</real>

                                                            <key>horizontalAlignment</key>

                                                            <integer>2</integer>

                                                            <key>kerning</key>

                                                            <real>0.0</real>

                                                            <key>lineHeight</key>

                                                            <real>0.0</real>

                                                            <key>markup</key>

                                                            <string>&lt;b&gt;&lt;u&gt;Nobody  here.

&lt;/u&gt;&lt;/b&gt;&lt;b&gt;Just us and the wind.

No birds, no squirrels.&lt;/b&gt;</string>

                                                            <key>placeholderString</key>

                                                            <string>Double‑Tap to Edit</string>

                                                            <key>placeholderTextColor</key>

                                                            <dict>

                                                                      <key>colorcomponents</key>

                                                                      <array>

                                                                                <real>0.0</real>

                                                                                <real>0.60000002384185791</real>

                                                                      </array>

                                                                      <key>colormodel</key>

                                                                      <integer>0</integer>

                                                            </dict>

                                                            <key>string</key>

                                                            <string>Nobody  here.

Just us and the wind.

No birds, no squirrels.</string>

                                                            <key>textColor</key>

                                                            <dict>

                                                                      <key>colorcomponents</key>

                                                                      <array>

                                                                                <real>0.0</real>

                                                                                <real>1</real>

                                                                      </array>

                                                                      <key>colormodel</key>

                                                                      <integer>0</integer>

                                                            </dict>

                                                            <key>underlineDescriptions</key>

                                                            <array>

                                                                      <dict>

                                                                                <key>range</key>

                                                                                <string>{0, 14}</string>

                                                                                <key>underline</key>

                                                                                <integer>1</integer>

                                                                      </dict>

                                                            </array>

                                                            <key>version</key>

                                                            <real>2</real>

                                                            <key>verticalAlignment</key>

                                                            <integer>1</integer>

                                                  </dict>

                                                  <key>customSize</key>

                                                  <string>{2, 1}</string>

                                                  <key>fixedFrame</key>

                                                  <string>{{0, 0}, {0, 0}}</string>

                                                  <key>fontID</key>

                                                  <integer>4</integer>

                                                  <key>fontSizeAdjustment</key>

                                                  <integer>0</integer>

                                                  <key>ignoresColorOptions</key>

                                                  <false/>

                                                  <key>inlineHeight</key>

                                                  <real>0.0</real>

                                                  <key>isBackground</key>

                                                  <false/>

                                                  <key>isFullBleed</key>

                                                  <false/>

                                                  <key>isInline</key>

                                                  <false/>

                                                  <key>isOverlay</key>

                                                  <false/>

                                                  <key>isTitle</key>

                                                  <false/>

                                                  <key>rawstring</key>

                                                  <string>Nobody  here.

Just us and the wind.

No birds, no squirrels.</string>

                                                  <key>rotation</key>

                                                  <real>0.0</real>

                                                  <key>size</key>

                                                  <integer>-1</integer>

                                                  <key>subType</key>

                                                  <integer>4</integer>

                                                  <key>type</key>

                                                  <integer>6</integer>

                                                  <key>uuid</key>

                                                  <string>48F9337A-6C2C-4B34-9597-DCEDE2D19BAE</string>

                                                  <key>verticalAlignment</key>

                                                  <integer>0</integer>

                                        </dict>

                              </array>

                              <key>pageType</key>

                              <integer>0</integer>

                              <key>sortOrder</key>

                              <integer>0</integer>

                              <key>uuid</key>

                              <string>8B82F42E-0CF2-46C4-A62B-C076EC3A79CB</string>

                    </dict>

          </array>

          <key>settings</key>

          <dict>

                    <key>includedOnIndexPage</key>

                    <true/>

                    <key>lastPublishDate</key>

                    <date>2013-11-25T23:32:09Z</date>

                    <key>sharedPublicly</key>

                    <true/>

                    <key>themeName</key>

                    <string>Cotton</string>

          </dict>

          <key>uuid</key>

          <string>25264BD0-94BC-405C-9998-464141034BDC</string>

          <key>version</key>

          <integer>11</integer>

</dict>

</plist>

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

The full journal is published here for your perusal.

 

https://www.icloud.com/iphoto/projects/#1;CAEQARoQGv4fUavs5Sh6uiTSW59Mww;3A3937A A-2865-4C6B-AAFB-B0F15C06C1B7

 

I dont know it it is possible to edit the plist further because I dont know what other tags iphoto understands. For example, how would i specify a hyperlink or a dropdown that i might want to add to the page? Or how could i make a 'window' on the web page where photographs appear and disappear in a 'Ken Burns effect'? Or how could I link to an mp3 that is on the ipad that I want to play?

 

Furthermore, I dont really understand the structure of this plist-for example data in a string is coded twice-once as a string and once as a raw string. Although I am just one of 'the rest of us', that does not mean my aspirations should be humbled by my lack of knowledge, so I come here. To ask of the wizards some insight. And please do not bother to reply if you are just going to make a snarky comment like 'Apple does this for a reason you will never know' or 'I dont know, just google it'. I can get enough of that stupidity by surfing the sewage that the internet has become.

C2D, Mac OS X (10.6.5)

Posted on Nov 27, 2013 5:04 AM