notes/2021/07.md

July 31
  electric drummer
    todo
      make outline public command doesn't work in E/D
      all you have to do is add a flPublic header attribute with a value true
      E/D takes care of the rest
      but it's not doing that
  drummer
    change notes outline for the testers
      a command off the Docs menu
    start setup of testers nightly email
July 29
  docs
    working on Scripting in Drummer doc
    the test menu -- this is is where i put scripts that i want you to try out
      new preference setting
        checkbox: include DW's test menu?
        appPrefs.flIncludeDwTestMenu -- default false
  pagepark
    todo -- i want to create a special version of docserver with a config.json structure
      pass over enough info to docserver somehow to tell it where to find its opml file
      i tried using a url param, but it wasn't being sent across
July 28
  drummer
    gather notes about scripting in drummer
  pagepark
    flServeConfigJson -- a new config value -- defaults false.
      Determines whether we serve the config.json file from each folder that has one.
      This was an oversight. I want to close this door asap, but in case people have an application for it, I want to make it possible to open door in a single case or globally.
      if flServeConfigJson is false, we will report 404 not found for config.json files in domain folders. If it's true, we'll serve it just like any other file.
    Fix docs for running apps that says you can't launch new apps without rebooting pagepark, it's not true, i do it all the time.
July 27
  pagepark
    Shouldn't be serving config.json from sub-folders of the domains folder.
  docserver
    docserver app moves to docserver.scripting.com
    The command in the Menu changes its name to "Go to this page" -- instead of putting up a dialog it opens the page specific to the current verb.
    The page title now incorporates the name of the verb whose docs we're looking at.
    Allow the URL of the outline to be passed in as a param.
    home page is the DocServer app
    it has a Docs menu, which is an outline of course
      in it are Drummer docs pages
      same menu is in the Drummer app?
      generated from same outline
    the docs pages are served from a sub-folder of the domain folder
      served from a static folder on Miami
  docserver
  daveappserver
    serving static files
      suppose a request comes in for myapp.com/docs/
        right now daveappserver just returns 404 not found.
      instead, let's handle it
  drummer
    overall docs question -- where are we going to put the docs for drummer?
      once this is solved, we can get on with shipping
        until it's solved just chipping away at the edges
      options
        docserver.scripting.com/drummer
        docserver.org/drummer
        drummer.scripting.com/docs
        drummerdocs.scripting.com
        drummer.garden/docs
        drummer.pub/docs
        drummer.love/docs
        drummer.farm/docs
    docs for various coding constructs
      iconbar
      scheduler
      root
      scripts menu
    docserver should be usable for other projects
      url param, points to the outline containing the docs
    the filename is not displayed in the about box
      that's crazy, how are you supposed to figure it out
    check out bookmarks and instant outlines
    subscribe to my worknotes outline
  instant outlines
    new rule, when you subscribe to an instant outline and it has a header element, that's the outline we read, and the outline we subscribe to.
      written up here.
July 26
  scripting news
    bring back the close box, move the arrows to the empty lower left corner of dialog.
      didn't work. there's a reason the dialog is set up the way it is
    todo: i want a permalink for a tagref
      done
  socketServer
    it was manufacturing the URL to notify about
      instead use the urlPublic value
      we're reading the opmltext anyway
  drummer
    when you subscribe to an outline, use the urlPublic value, no matter what URL the user gave you.
    this means anyone who has a tab open to an instant outline in drummer now, has to close it and re-open it to be sure they'll get updates.
    stress test for instant outlines
      I opened three outlines for twitter feeds, as managed by the instantOutlines repo.
      and updated them in unpredictable orders
      there were problems, but i got everything in sync
  pagepark
    v0.8.21 and 22, now it should be possible for people to host sites where they edit the home page using LO2, or any app that generates OPML.
July 24
  drummer
    Get My Tweets was set up to use littleoutliner.com credentials, and in Drummer we have its credentials, so it doesn't work. Decided to integrate the feature into davetwitter, so every app that uses this can do it through its own server.
  davetwitter
    added Get My Tweets functionality used by Drummer
July 23
  opmltweets
    the app was moved to a public server -- opmltweets.scripting.com.
July 22
  drummer
    added opml.js to the includes
    sort out issue with instant outline updates coming in and overwriting the content of another tab
      a data-losing situation
  scripting news
    tags feature announced
      http://scripting.com/2021/07/22/135636.html?title=taggingInScriptingNews
  tagserver
    repeatable bug
      this is a [[tag]]
      save outline
      it shows up
      change the text to
        this might be a tag [[tag]]
      save
      the tag ref is gone
      make a change
      save
      the tag is back
July 21
  scripting news
    move closebox vertically
    move the back arrow further to the left
    color/bold when you hover over a tag
    i've got the tagref dialog integrated with scripting news, but i'm not calling out the tags yet. i want to have a settle-in session with it. time for a break.
  drummer
    bridge between drummer and github
      i want to be able to edit docs that flow to github but are written in drummer
  test group
    tiensonqin
    RCmerci
    weihua-lu
July 18
  scripting news
    i want to try a different approach to tags
      let's adapt OPML Tags Home to tags.scripting.com
      make a [[xxx]] link into a link into that app
      get on with it
  tagbase
    add a permalink field to the database for each tag ref
July 17
  scripting news
    replace a tag with a link to a special kind of popup window that displays other posts that are similarly tagged.
July 15
  scripting news
    UI for tagging
  drummer
    no more subscribe to outline
      the command changes to Open URL...
      because that's all it is
      if it has a websocket, we subscribe
      you can bookmark it
  tagServer is modernized
    It's a package, and it returns results in OPML.
July 11
  Hoover
    next-up for hoover, have it only pay attention to the most recent day
      that goes for the visiting routine and
      for getting history
      thus you can edit or delete items in the rest of the outline, we only care about today.
  Drummer
    Make dark mode an option.
      Also let users configure their own CSS.
      Publish the source for the darkmode CSS.
      What we have now is crude, just black and white.
July 10
  idea
    Something like nodeEditor inside Drummer.
  verbs
    op.attributes.deleteOne appears to not work
  electric drummer
    Docs menu must be added
      it should be copied into the includes folder
  hoover
    have a framework up and running, something that will likely replace tagserver.
    the plan -- every headline of type outline goes in the database
      the headline of the outline node is the tag, unless there's one or more [[xxx]] strings in the text, in which case its not tagged on the text of the headline, and is tagged by the values of each of the [[xxx]]s.
  support
    started a private support group on Github for drummer
July 9
  hoover
    I have one outline I use to feed stuff into a tagserver type database
    follows a calendar structure. any item with a type attribute gets included in the database.
    i can request to see all the items with a given tag
      as an outline i can subscribe to
  drumkit
    a package for hosting your own drummer
July 8
  tagbase
    give it a calendar structured outline
      everything with a type attribute defines a document, something that can be tagged
      the top level headline is the tag, in the case of this outline, the name of a product
      case insensitive
    you can view all the notes for a topic
      in a web page
      or in OPML, so you can include it in an outline
    most outlines will not go into the tagbase
      it's designed for development diaries like this one
  drummer
    moved from http://scripting.com/code/testing/drummer
      to http://scripting.com/code/drummer
  electric drummer
    note because of includes folder, we now how to rebuild the includes when we make a change to anything it depends on
    the file/close command works again
      i had changed the css on the close box, so I wasn't finding the visible one when i searched for it
    i created an includes folder and put test.js in it with one routine and i was able to call it
      code is in nodeEditorSuite.suckDownElectricDrummerIncludes
      so i'm going to suck down all the files ED includes over the net and put them in the includes folder
        http://s3.amazonaws.com/scripting.com/code/includes/jquery-1.9.1.min.js
        http://s3.amazonaws.com/scripting.com/code/includes/bootstrap.css
        http://s3.amazonaws.com/scripting.com/code/includes/bootstrap.min.js
        http://scripting.com/code/fontawesome/5.12.0/css/all.css
        http://s3.amazonaws.com/scripting.com/code/includes/basic/code.js
        http://s3.amazonaws.com/scripting.com/code/includes/basic/styles.css
        http://fargo.io/code/storage/api.js
        http://scripting.com/code/concord/testing/3.0.6/concord.js
        http://scripting.com/code/concord/testing/3.0.6/concordstyles.css
        http://fargo.io/code/shared/outliner.js
        http://fargo.io/code/shared/xml.js
        http://fargo.io/code/shared/arrowpad.js
        http://fargo.io/code/shared/twoutliner.js
        http://fargo.io/code/sparkmd5/spark-md5.min.js
        http://fargo.io/code/keypress.js
        http://scripting.com/code/xmlrpcbrowserclient/xmlrpc.js
        http://fargo.io/code/shared/buildrss.js
        http://fargo.io/code/shared/tableeditor.js
        http://fargo.io/code/shared/tableeditor.css
        http://scripting.com/publicfolder/code/jsParserForLO2/acorn.js
        http://scripting.com/publicfolder/code/jsParserForLO2/escodegen.browser.js
        http://scripting.com/code/concord/concordscript/scripting.js?ghi=6
        http://scripting.com/code/concord/concordscript/verbs.js?ghi=9
        http://fargo.io/code/shared/outlinedialog.css
        http://fargo.io/code/shared/outlinedialog.js
        http://scripting.com/code/testing/drummerhome/code.js?ghi=6
        http://scripting.com/code/testing/drummerhome/styles.css?ghi=6
        http://fonts.googleapis.com/css?family=Ubuntu:400,500i,700
        http://fonts.googleapis.com/css?family=Rancho
        http://scripting.com/code/fontawesome/5.12.0/webfonts/fa-solid-900.woff2
        http://scripting.com/code/fontawesome/5.12.0/webfonts/fa-brands-400.woff2
        http://fargo.io/code/node/shared/askdialog.html
    moved it to http://scripting.com/code/electricdrummer/
    the icon for electric drummer is driving me crazy. have to get it back to the drummer
      what i did to get it right -- deleted the copy of the ED app in the Applications Folder, and in the development folder, and then built the app with the correct icon.
      since the icon won't change again, we should not have to do this again!
July 7
  Development diary
    Need a non ad hoc flow for daily development notes. This is a good application for tags.
    Finally lets get a system in place that works as well as what we have for Scripting News.
  PagePark
    Andrew reports a problem with mirrors and index files.
      https://github.com/scripting/pagePark/issues/21
  Drummer
    Creating a connection between DocServer and Drummer
      To start a command in the Docs menu. You enter the name of a verb, and it opens DS to that page.
      But there's a problem, the source outlines in ED were pointing to testing.littleoutliner.com. Not good.
      I need to be able to work on ED, esp to update how it handles pub/sub. that's changing, no instantoutliner.com needed, we get all the info we need from the head of the outline.
    The File Open dialog was a mess because I created some files with huge names
      made it so the cells don't wrap, so the table expands and we get a horiz scroll bar, which is preferable to the mess we were seeing before
      made the text smaller
      renamed the files
      now it looks great
  electric drummer
    when you view OPML, if the file is public, the window opens in a browser outside of Electron
    if you type cmd-f, drummer goes into a stack overflow condition
      i was prepared this morning to roll up my sleeves and deal with this, but now it's not happening.
      i can do all the finding I want, either by choosing the command from the menu, or typing cmd-f.
      so i'm going to have to fall back to my other stuff, and hope it shows up again.
July 5
  instantoutliner.com
    no longer needed, all the subscription info is contained in the section of the OPML file.
    but i will keep it running so the links don't break! ;-)
  tagserver
    you can have your own tag server.
  Set up a Drum Kit
    Server that you can run Drummer from.
    Just add the address I give you to config.json in the right place, and run Drummer from your own server.
    It can even be on your local computer, or LAN.
  Electric Drummer
    Get it building again, and have process for easier updates.
  default folder for pagepark
    let's start with zero chance of breakage
    if a request comes in for a host that doesn't have a domains folder, and there is a domains folder called default, serve the request from that folder
  opml.org
    i want to do a lite update to the opml.org site, along the lines of what i did for xml-rpc.
July 4
  opml package
    i think it should be possible to ship it today
    clean up this page
      http://scripting.com/code/opmlpackage/client/index.html
      needs description, spacing between boxes
    home page readme
      point to other code for opml devs
      place to ask questions, comment
      add outline browser to client code?
        http://fargo.io/code/browsers/outlinebrowserdemo.html
        reason -- there's confusion around which is the "real" version
        this could be the real version, with docs, public facing?
        or we could just point to it?
      point to instantOutlines project
  dev.opml.org
    I found the Manila source for the website, it's in the S3 bucket, and in the Inactive Tools folder for OPML Editor on my desktop.
July 3
  scripting.com story posted to github
    it's another app i ping when i update my blog
    it reads the opml of scripting.com, scans for all the stories,
  a service that posts something to github
    take all the configuration out of it
    you just have to know the url, have an authorized account
  opml package
    factor it down so the browser code is minimized
      let's not use anything but
        jquery
    write docs, release it
  Drummer
    Set it up so it runs from a server on Glitch.
July 2
  Notes on Andrew's checklist
    Manage Your Projects was at the top of my page, not the bottom, per the instructions.
    There was no Import from Github on the page, but there was a New Project button in the top right corner of the page. I clicked it.
    A menu pops up and at the bottom of the menu there's Import from Github.
    I clicked it, a dialog appears asking for the full URL of the repository, which I entered per the instructions.
    The instructions for setting up the first sub-folder of the domains folder are difficult, it took a few tries to get it right. It could be made a little simpler, but the task is inherently tricky.
    I have some ideas about how it could be made simpler, I'm going to think about it a bit.
    Thanks for doing this.
  opmlPackage repository
    the project is outlined in the opml file for the project
      fill in the blanks, add more blanks, next session.
    i already have a git project named opml
      i'm going to leave it alone
      this project will be in the opmlPackage repository
    package starts with two calls
      opml.parse
      opml.stringify
    both client and server
      opml.parse (opmltext) returns an outline structure
      opml.stringify (theOutline)
    client only
      read and parse an outline over http, using $.ajax
      subscribe to an outline
        opml.subscribe (url, callback)
          whenever we are notified that an outline has been modified, the callback is called with the outline as a JS structure.
    server only
      read and parse an outline over http, using request
      handle websocket subscription and notification
    finally get started with this
  glitch
    andrew says he was able to get it running
    sounds like it was easy?
  checklist to build electric drummer
    also, move all source files into the project folder, it should not read any source code over the net.
    file/new command -- file browser is fucked up, folder navigation doesn't work.
    when you click on the Eye icon, the page should open outside of Electric Drummer, in the web browser.
  simplify pub/sub user commands in File menu
July 1
  npm/opml
    let's go!
    add outline viewer code
  think about member database that can be accessed by all my apps
    where to put the database configuration data on each server?
  convert instantoutliner.com to mysql
    the coding is already done, just have to do the installation
  order a hard drive for mac mini
  roll over scripting.com opml for new month
  teach pagepark how to do a straight outline -- not done
    we didn't need it, i found the source listings app.
    use the same renderer as we currently use for outlines
    http://this.how/opmlChecklist/?format=outline
    a new attribute says which way to render the outline
      renderOutlineAs
        howto (the default, the current method)
        indentedOutline (like davewiner.com)
  opmltweets
    handle emoji short codes
    reduce http://t.co/ links using regex