Grindstone 4 is Getting Extensions

We are very happy to share exciting news: Grindstone 4 is getting extensions. We anticipated some of the questions we knew you would have, and I’m answering them here in this thread. If you don’t see your question answered, use the reply box below to ask and we shall answer.

Extensions will be able to do the following:

  • access user data and alter or enhance change processing
  • alter or enhance the Grindstone UI
  • display their own UI
  • store their own data for either the Grindstone installation as a whole or just for the currently open database
  • post messages to and receive messages from other extensions
  • reference the .NET Framework global assembly cache
  • reference NuGet packages

All you will need is a text editor (we recommend Visual Studio Code) and a knowledge of Microsoft C# and the Grindstone extension APIs. Grindstone will just-in-time compile your extension on each user’s machine and download your NuGet package references if you use them (it will even get the user to agree to the licenses for those packages). It works like freak’n magic.

We will answer any questions you have about how exactly to accomplish the basics with extensions (the things in the list above) here in this forum. We have posted sample extensions we created during the feature’s development so that you have examples to study. And some of these are serious business – like the one that replicates all of the user’s data to a Microsoft SQL Server database. That said, as you have questions regarding extension development, you can just create a new topic in the Grindstone 4 Extension Development forum and ask away, starting today.

Most people that use Grindstone extensions won’t have to write them. If you have requests or suggestions about the extensions you would like to see made, please create a new topic in the Grindstone 4 Extension Ideas forum. Seeing the volume of interest in your idea from other users will help us prioritize what the community would value most. And the replies they contribute to the thread for your idea will guide us on what general expectations are for the extension’s behavior. Well, that’s assuming one of the many rogue developers among Grindstone’s user base doesn’t beat us to the punch and steal all the glory.

Extensions will be available to you only if you have a license for the upcoming Grindstone 4 Pro. The ability to purchase said licenses will become available when support for extensions is released. Licenses are per-device and cost 5 USD per month or 60 USD for the lifetime of the device. Oh, and before you ask, yes: so long as you have a Grindstone 4 Pro license, the ads to try Grindstone Sync will just… go away.

Right now! To preview this release, complete these steps:

  1. launch Grindstone
  2. open the main Grindstone window
  3. click the Help menu
  4. select Switch to Preview Releases
  5. click the OK button

Of course not. Those users previewing this release of Grindstone will be issued one-month Grindstone Pro licenses during the testing period at no charge (despite what Grindstone says about pricing). Although, an Epiforge Account is still required in order to be issued a license. Lifetime licenses will be unavailable for the duration of the testing period.

We feel that extensions will mark the beginning of a great new era for this app and its community. I look forward to reading what you all have to say, answering your questions, and taking these first steps into a new frontier. Let’s explore it together.