Saturday, July 23, 2016

Recap "Replace Your File Cabinet with Mayan EDMS" (Meeting #8)

"Replace Your File Cabinet with Mayan EDMS"

We had a great turnout for our 8th meeting, where James Richey was kind enough talk to tell us everything he has learned about Mayan EDMS. James did a wonderful job explaining why we would want to use Mayan, how it manages documents, how to install Mayan and configure it.

I neglected to take photos and screenshots as I was too busy trying to absorb as much information as I could. I only have one poorly exposed photo, which I've included. I will do my best to relate and capture what was presented. As usual, the presenter is the best source, so please forgive my inadequacies.

James presenting Mayan EDMS while I snap a poorly composed photo of him. (Sorry, James!)


James started the talk by discussing the various ways we can organize our documents. He was looking for something automated and computerized that provided personal control over his documents, made it easy to add new documents, and provided fast search for existing documents. James also wanted to avoid vendor lock in. He chose to invest time in Mayan because it is open source, free (as in cost), has good document organization features, will run on his personal server, and uses a simple file system based storage solution for the documents. That last feature mitigates the vendor lock in he is concerned about. Additionally, Mayan has a web based interface that can be operated by pretty much anything that has a browser, which makes it very accessible.

Key Concepts

James says that there are three key concepts behind the way Mayan views your documents:

  • Document type
  • Metadata
  • Indexes
Before attempting to deploy your Mayan instance, it is important to understand these concepts and to think about how to apply them to the documents that you need to manage.

Document type

The document type is about classifying your documents. What are the sorts of documents you deal with? Some examples document types: receipts, bills, and manuals. Whatever sorts of documents that you find yourself managing, Mayan should be able to accommodate you.


Once you know your document types, you need to define the metadata that you want to attach to each document type. Metadata is just a "type" and a value, and they can be optional or required for a given document type. Some examples of metadata might be:


When configuring a new Mayan instance, James recommends setting up your metadata first, then your document types. That way you can flesh out the document types with the metadata as you create them.


Once you have document types and metadata types, you'll probably want to have convenient ways of viewing and getting to the documents that you have Mayan managing. That's where the indexes come in to play. The indexes allow you to organize documents based on metadata values. For example, you could place all the documents related to project Phoenix in one index.

The indexes are defined using Django templates. This means you have to understand both Django and Python to set up your indexes, which might be a bit of a learning curve for some. But it does give you a lot of power to create the indexes.


I don't recall exactly where James discussed this, but Mayan has very useful search facilities besides the indexes. My notes say that you should be able to also search on the content (assuming Mayan understands the content of your documents).

Other Features

I haven't covered all the features that James discussed in his talk. I neglected to mention tags, revision tracking, and metadata validation. James has said that he finds Mayan very useful for his purposes, and he hasn't even started to try to use the more advanced features, like the REST API, smart links, and staging folders. He also mentioned that there is a FUSE (Filesystem in Userspace) view of Mayan indexes available. This could make Mayan accessible in situations where http can't be used. Mayan seems to have plenty of room to grow for people or organizations that need help organizing and managing their documents.


Mayan EDMS is a Django application that would normally be installed on to a computer acting as a server. James has his instance installed inside of a "jail" running on his FreeBSD server. However, there are many ways to run Mayan including Linux "bare metal", virtual machines, or containers. The basic requirements are a machine capable of running nginx, PostgreSQL, and Python. If you don't feel like running your own server, you can pay to have somebody else run the service for you. As usual in open source, you have lots of options.

Diagram of the architecture of Mayan from James' slides.

Wrapping Up

James gave a great overview of Mayan and the demo worked flawlessly. It's great to have a hands on demo after a presentation, since it gives us all a chance to try a few things out while the presenter is standing right there to handle questions. I know I learned a lot. We'd all like to thank James for taking the time and efforts to give such a great presentation on Mayan EDMS. And we'd like to thank Gresham’s Multnomah County Library for hosting us once again.

We hope to see you next time! Until then, keep learning and sharing what you learn with others!

References and Resources

  1. James' slides:
    1. Original reval.js archive
    2. PDF format (author conversion)
  2. Mayan EDMS
  3. Mayan documentation
  4. Mayan's Google groups
  5. Gitlab source and bug tracker
  6. FreeBSD:
    1. FreeBSD jails

Sunday, June 5, 2016

Replace Your File Cabinet with Mayan EDMS (Meeting #8 Announcement)

EAST Knowledge is excited to host James Richey for our eighth meeting. Join us for James' talk sharing what he's learned about Mayan EDMS. There will be an interactive demonstration, so bring your laptops! All are welcome!

What:Replace Your File Cabinet with Mayan EDMS
Who:James Richey
Where:Large Meeting Room at the Gresham Library
385 NW Miller Ave, Gresham (map)
When:10:30am - Noon, Saturday, June 18th, 2016
Why:Sharing what we know

Mayan EDMS is a free open source electronic document management system suitable for the home or office. It has powerful search and automatic categorization functionality. If you have you ever been frustrated while trying to locate an important document, been overwhelmed from attempting to organize a large stack of papers, or want to preserve your documents in digital form, you'll want to learn more about Mayan EDMS. James will:

  • Give an overview of Mayan EDMS and the problems it solves
  • Explain the key concepts such as metadata, document types, and indexes
  • Show how to import documents
  • Explore ways to quickly locate documents
  • Demonstrate Mayan EDMS with a live, interactive demo
  • Describe how to install and administer the software

Come and learn something new! We hope to see you there!

Join us for lunch after!

We're going to try something different for this meeting. After the talk, anybody who is interested can join us for lunch at Blondie's Pizza, which is a couple of blocks from the library. The last time I was there, they had a $6 lunch special for a salad and a slice of pizza. Blondie's is next to Jazzy Bagels on 112 N Main Ave (map).

Wednesday, March 23, 2016

Recap "The Joys and Sorrows of 3D Printing" (Meeting #7)

"The Joys and Sorrows of 3D Printing"

For our seventh meeting, EAST Knowledge was delighted to host Michael Yurkoski on the topic of 3D printing. Michael presented a little bit of the history of additive manufacturing, quickly dived into the practical details of hobbyist 3D printing, and finished off his presentation with a live 3D printing demo. The presentation was a terrific, densely packed performance, and I think even people who had been doing 3D printing for a while learned something new. With the usual apologies for not being able to do the speaker justice with our meager notes, we will do our best to provide an overview of what was presented. Michael's slides are here and also available at the bottom of the post, and we recommend you check them out for more information.

Printer Lineup

Besides Michael, other people brought their 3D printers to show as examples of the different options available. This was a great supplement to the main talk as it gave us in the audience a good appreciation for the variety of printers available even when they all use the same technology.

From left to right: David's upgraded printer, Pat's Printrbot Simple (with print bed insulation), and Michael's Printrbot Plus.

Additive vs Subtractive Manufacturing

Michael started off the talk by contrasting subtractive manufacturing with additive manufacturing. Subtractive manufacturing is where you start with more material than you need and then remove material until you've made what you want. Examples are CNC mills, routers, cutters, etc. Most of what people think about when they think of modern industrial manufacturing is subtractive.

Additive manufacturing is where you start with the raw material and build up a form a bit at a time. Industrial devices build up a form in layers. So you start with a design of an object, slice it into layers, and then build up the form a layer at a time. There are multiple technologies that can achieve this. See Michael's slides for the wide variety of 3D printer technology that is in use.

There are at least two main advantages to additive manufacturing over subtractive manufacturing: less waste and the ability to create forms that are impossible (or at least much more difficult) with subtractive manufacturing.

History of Additive Manufacturing

The first 3D printer that took digital design to reality was in 1984. These early machines would've been expensive. The first printer to break into the affordable hobbyist category was the RepRap. Steady progress has been made since then to the point that printers have become affordable and reliable enough that they are found in classrooms, offices, labs, and now in people's homes for their own personal use.

Current State of the Art

Most hobbyist printers are of the material extrusion (fused deposition modeling) variety. Or as Michael says, they extrude noodles, little plastic noodles. It is currently possible to get a decent 3D printer using this technology for around $500.

The typical material used for printing is either PLA or ABS. PLA has the advantage of being biodegradable and fumeless. ABS can be stronger, but generally gives off fumes and is not biodegradable.

Michael briefly gave an overview of the important hardware aspects of a noodle extruding 3D printer. They are:

  • Extruder
  • Stepper motors
  • Controller board
  • Print surface
  • Rigid frame
  • Filament

How Michael Uses His Printer

Michael primarily uses his printer to create useful objects for his own use. He either starts with existing designs and modifies them, or he creates all new designs himself. Some examples of things he has printed:

  • Mounting standoffs
  • AA battery dispenser
  • Pen holders
  • Toothbrush holders
  • Wrist brace

While Michael has been successfully printing lots of objects, he emphasized that 3D printing is more complicated than just how the printer works. While the technology has improved and continues to become more economical all the time, 3D printing isn't yet at the stage where you can just hop on down to the local store, pick up a printer in your price rage, take it home, and start printing things you find online or that you design yourself.

There are still many rough edges in the workflows and little standardization. For example, Michael often hand modifies the g-code produced by his tools (usually to adjust speed if I remember). Many of the tools also have all options that you may ever need exposed to the end user, which makes it difficult to learn and also makes it possible to select inappropriate combinations of options. Michael mentioned a tool that has an option labeled "fix horrible". He's not sure what it does, but he leaves it checked. However, watching Michael work, it is clear that 3D printing is definitely at the stage that diligence and attention to detail will pay off in the final products.


If you have a 3D printer, the typical workflow would be to design an object using a CAD tool. At this stage you will need to think ahead about how you intend the object to be printed. You even need to take into consideration aspects of the slicer tool. If you don't want to design something, then you can take an existing design from somewhere else and start with it.

After designing your object (or making a copy of an existing design), you import the object into a slicer program. This software is responsible for carving the object up into the layers we talked about before. It is also the tool that will allow you to decide how hollow your "solid" interiors will be. You can print your objects as mostly hollow with rigid support structures (see back lit photo below). You can also perform basic transformations in this tool. The slicer produces the g-code that is then fed to the printer.

Demo Time!

After finishing up the main talk, Michael connected his laptop to his printer. He started the warm up process on the print bed.

Michael preparing for the demo with example prints in the foreground.

While waiting for the print bed to warm up, he demonstrated the slicer software to us. His plan was to print a small coin which, according to the slicer, was going to only take seven minutes to print. He showed off the various transformations and adjustments that can be made inside the slicer (e.g. flipping axes or scaling up or down). He pointed out that even if you initially lack skill or confidence for designing objects, you can still achieve a lot by using existing designs and making adjustments in the slicer.

The EAST Knowledge coin shown in the slicer.

Speaking of print beds, Michael talked to Pat about the modifications he had made to his printer. Pat had added insulation which he said allowed the print bed to warm up about ten times faster. Once the print bed was ready, Michael started the print. In the short video below, you can see a close up of the printer in action and hear the sounds it makes as it travels. You can also hear Michael and John talk about the quantity of plastic on the spool.

As promised, the print job for the inch wide coin took about 7 minutes. Once it cooled, we had a nice new EAST Knowledge coin. The group got a kick out of passing around this newly manufactured piece. When you held it up to the light, you could see the support structures in the middle that allowed the coin to be hollow but still have rigidity.

The freshly printed EAST Knowledge coin on the print bed. The ring around the coin is a skirt placed there by the slicer to help prime the extruder prior to starting the print job.
Holding the coin up to the light to see the hollow interior crisscrossed with support structures.

The Time Passed too Quickly

Michael packed a lot of information into his presentation and still managed to answer questions and run a successful demo. It was a lot of fun for the audience. We'd all like to thank Michael for taking the time and effort to present to the group. And we'd like to thank Gresham’s Multnomah County Library for hosting us once again.

We hope to see you next time!

References and Resources

  1. Slides from Michael's talk
  2. Portland 3D Printing Lab - Portland 3D printing group on Meetup
  3. Thingiverse - design community focused primarily on 3D printable objects
  4. RepRap - "humanity's first general-purpose self-replicating manufacturing machine"
  5. PLA - Polylactic acid is the biodegrable plastic commonly used in 3D printign
  6. Formlabs Form 2 Teardown - Andrew (bunnie) Huang does a teardown of a 3D printer that uses vat photopolymerization
  7. G-code - Language used to drive computer numerical controlled evices

Wednesday, March 2, 2016

The Joys and Sorrows of 3D Printing! (Meeting #7 Announcement)

EAST Knowledge is excited to host Michael Yurkoski for our seventh meeting. Join us for Michael’s talk describing his experiences with using a 3D printer in the home. All are welcome!

What:The Joys and Sorrows of 3D Printing!
Who:Michael Yurkoski
Where:Large Meeting Room at the Gresham Library
385 NW Miller Ave, Gresham (map)
When:10:30am - Noon, Saturday, March 12th, 2016
Why:Sharing what we know

Michael has been doing an intense dive into the practical side of 3D printing, and he wants to share with our group the lessons he has learned. He intends to:

  • Give a brief intro into the history of hobby 3D printing
  • Explain why 3D printers are interesting
  • Expound on why 3D printers are loathsome
  • Explore how 3D printers work
  • Demonstrate how he designs a widget
  • Show off a printing like a pro (which Michael insists he is not)

We hope to have time for Q&A at the end. If you’ve been curious what all the fuss over 3D printers is about, or would like to commiserate with a fellow 3D printer enthusiast, join us for our meeting. We hope to see you there!

Sunday, February 21, 2016

Coffee Break #6 - Recap

It was a bright sunny Saturday, but we still had a great turnout for Coffee Break #6 at Cafe Delirium. We had several lively conversations going on at any one time, so I know I missed things. Feel free to let me know if there is anything I should include in the notes. These are the things that I remember:

  • PyBoard - Pat discussed his recent experience with the PyBoard. The PyBoard runs a version of Python called MicroPython. Pat feels that the MicroPython environment provides a rapid prototyping and development environment that rivals the Arduino.
  • Repair Café - Gresham is having its second Repair Café on February 28th at the Gresham Library. They are looking for volunteer fixers who aren't afraid to roll up their sleeves and try to save useful things from our landfills.
  • East Metro STEAM Partnership - EAST Knowledge likes to keep tabs on local tech developments. Jim was filling us in about the latest happenings with the EAST Metro STEAM Partnership. They have recently had some successful grant applications which will be used to fill a Director position. I'm not sure where the official website is, but here is option #1 and option #2.
  • Intel Hiring Policies - Apparently Intel has had a long standing policy of not rehiring people after they had been let go for performance reasons. Intel has recently extended this policy to cover people let go during layoffs. There has been some controversy around this.
  • David's 3D Printer - David has been working on upgrading his current 3D printer by printing the necessary parts. It looks like he has been making pretty good progress. (Picture of his bin is not representative of his progress.)
  • Bill's Power Supply - Bill discussed plans he has for creating a modular power supply for his amplifier projects. The idea is to be able to build a single power supply that he can then reuse with different circuits.
  • Andromeda Strain - I don't remember how this came up, but somebody mentioned the movie Andromeda Strain. I haven't seen it (or read the book it is based on), but it sounds interesting (if dark). However, I don't know whether they were referring to the 1971 version (trailer), or the 2008 TV mini-series (trailer). I'm pretty sure one of us suggested that the 1971 one was worth watching.

That's all for now. Thank you to everybody who came out. It was good fun! If you couldn't make it this time, we hope to see you at one of our future meetings.

Sunday, February 7, 2016

Coffee Break #6

Update: A meeting recap.

Come join us for coffee and “tech-talk” at Cafe Delirium! If you are interested in technology but are not yet familiar with our group, the coffee break is a nice opportunity to drop by and introduce yourself. We have the room in the back reserved. We're going to hang out for a couple of hours, so feel free to come by, talk shop, show off what you're working on, ask questions and pick each other's brains. We look forward to seeing you there! All are welcome!

What:Coffee Break
Where:Cafe Delirium
308 N Main Ave, Gresham (map)
When:10:00am - Noon, Saturday, February 20th, 2016
Why:Sharing what we know over good coffee