Hiveword Plus: Custom Types
Custom Types and Fields allow you to extend the information that Hiveword can track. You can think of it as a personalized novel organizer.
"Types" are things that you can track which have one or more fields to describe them. You can also think of types as "story components" which is a notion used throughout Hiveword. Hiveword's built-in types (i.e, story components) are Scenes, Characters, Settings, Plotlines, Chapters, Stories, and Items. If these don't meet your needs you can add new types. For example, you might want to track Religions, Spells, Planets, etc. You can create as many different types as you'd like. Your custom types can have as many fields as you need to describe it. For example, a spell might have Effect Radius, Maximum Range, etc.
You can also extend the built-in types with extra fields. For example, you could add Frisbee Skill Level to the Character pages.
The types and extra fields you create will be available in each story.
This help page will specifically discuss custom types while custom fields are discussed here.
If the concept of custom types is confusing, it might help to think of types as a cookie cutter. A cookie cutter is created once and then stamps out as many cookies as you care to eat. I tend to care to eat a lot.
You've actually used this cookie cutter pattern many times in computer applications but you probably don't think about it at all. The reason is that you typically can't create your own cookie cutter in the software; you can only create cookies, not the cutter.
For example, consider creating your cast of characters in Hiveword. Here's what you do:
- Click the button to create a new character
- Name the character
- Fill in a bunch of fields
You repeat this process for each character. Simple right?
In this case, the Hiveword developer created the character cookie cutter for you. There's the "Character" type and a bunch of pre-defined fields that give the cutter its shape. Every time you make a new character you've stamped out a cookie and each cookie is separate from the others just like in the real world. The cutter did not change at all.
With custom types, you now have the power to create your own cookie cutters. Then, you can stamp out as many cookies as you'd like.
Creating a Custom Type
This section will guide you through creating a custom type. Note that "creating a custom type" is not the same as creating an instance of a custom type. The latter will be discussed in the next section. If you don't understand the difference, please refer to the "Cookie Cutter" section above.
All custom types you make will be available to you in all of your stories. Let's create one to track magical spells:
- From the main menu, click Tools and then Types and Fields
- The "Types" tab ("Types" and "Story Components" are synonymous) should already be selected
- Click New Type
- On the popup, enter the singular and plural form of your type (for this example, it's "Spell" and "Spells," respectively). You can change these entries at an time by clicking on the custom type name on its details screen.
- Click Save
The description field is not used anywhere besides this screen and is intended for you to explain or describe anything about this type that you see fit. You need not enter anything, though.
Note: All custom types will get a name field automatically so you don't need to create a field for it.
At this point you now have a new type called Spells. But, it's not terribly useful because it's missing fields to describe it. So, let's add a couple fields:
- Click Add New Field
- For the Field Name, type "Description"
- For Visual, select Textarea
- Click Save next to the field
- Click Add New Field
- For the Field Name, type "Energy Type"
- For Visual, select Textbox
- Click Save next to the field. Notice the preview of the fields at the bottom of the screen.
The preview at the bottom of the screen lets you quickly see how your fields will appear. You can learn much more about field management here.
Here's a more complete custom type for spells:
Using a Custom Type
In the previous section you created a custom type for Spells with two fields to describe it. Now, let's create a spell instance in a story. This is the same as creating a character, for example. You can create as many spells as you'd like.
- Navigate to your story (or create a new one)
- Notice that the story component sidebar on the left has an entry for spells but there are none so far.
- Click on the list icon () next to Spells. You are now on the list page for Spells.
- Click New
- Enter a name for the Spell and click Save
You are presented with a screen for your new spell. It has the name you just supplied but the fields are blank. You can add data to those and click Save, as usual, to save them. Note that the story sidebar now shows one spell (you can expand that list to see the name of your spells).
Also notice that with the exception of your own fields, the screen looks and behaves like the normal story components (i.e, the built-in types likes like characters, scenes, etc.). Specifically, you can do the following things:
- Add tags
- Add notes
- Add images
However, your custom type's Actions dropdown menu has two items that you won't find on the normal story components: "Hide descriptions" and "Manage fields for Spells."
The "Hide descriptions" item will toggle the display of the field descriptions you may have entered when you created your custom type. Note that this toggle is global.
Clicking "Manage fields for Spells" will take you directly to the fields management screen for Spells so that you can quickly add, remove, or edit spell fields. Note that the actual text for the menu item will change depending on the name of the type. So, if you have a type instance for castles, the menu item will be "Manage fields for Castles."
Here's a sample spell instance using the complete spell definition from the previous section:
Deleting Custom Types
You can delete an instance of a custom type as you would for any other story component (by clicking the Delete button on the instance's detail screen). Also, note that deleting a story will also delete all of its custom type instances, just like all characters, for example, would be deleted.
However, this section is not about deleting the instances. It's about deleting custom type definitions. In other words, it's about deleting the "cookie cutter" for a custom type.
Deleting a custom type definition will delete ALL instances of that type in any story
Please read the previous sentence again so that you are not surprised.
In the real world, destroying a cookie cutter would not actually destroy the cookies it produced. So, the cookie cutter analogy breaks down here. But, in Hiveword, if you remove a custom type definition you've taken away the lifeline a custom type instance had with reality. Sounds dramatic, doesn't it. ;-)
Because deleting a custom type definition is such a nuclear option, Hiveword takes steps to prevent inadvertent deletion.
The first thing you'll likely notice is the number of field usages. Refer to the screenshot in the "Creating a Custom Type" section above for an example.
The pills show the number of times a field is in use (meaning, having data). If the number is two, for example, this means that there are two custom type instances where that field has data. There might be 13 custom type instances altogether, but only two of those have that field filled.
Field usages is primarily intended for field management which you can learn more about here. But, if you see any of these pills then you know that there is at least one custom type instance.
Type usages works the same way except rather than being at field level, it tells you exactly how many of this custom type instance exist. This number appears in the information sidebar on the right. See the screenshot:
"Total usages" is the overall count of instances.
"Story usages" tells you which stories have instances and how many.
Deletion Confirmation Popup
Finally, the failsafe mechanism. When you click the Delete button you'll get a confirmation popup that tells whether or not there are custom type instances and how many. If you follow through and delete the custom type definition, the definition and all instances of it will be permanently deleted.