Publishing in Wolfram Repositories

Including the New Wolfram Language Example Repository and the Updated Wolfram Demonstrations Project

Bob Sandheinrich, Wolfram

(RowDefault[, (Spacer1), , (Spacer1), ])  #WolframTechConf

ABSTRACT

Wolfram Repositories provide a central place to distribute and discover increasing diverse types of content for Wolfram technologies. Publishing content is simple. In this talk, I will discuss repositories including the new Example Repository and a major update to the Demonstrations Project. I will also demonstrate how to submit content for publication and introduce experts who can help you learn the process throughout the conference.

Wolfram Repositories and Resource System

Wolfram Repositories are public collections of specific types of content, ready-to-use in Wolfram Language.

Data

NeuralNet

Function

Paclet

LLM Prompt

LLM Tool

The “Resource System” is what we call the technology that creates, maintains and supports these repositories and their content types.

Each resource in a repository is always represented by a ResourceObject.

pacletro=ResourceObject["Paclet"->"Wolfram/Chatbook"]

pacletro["Description"]

pacletro["Keywords"]

The content of each type of ResourceObject can be used in different ways:

PacletObject[pacletro]

New in 2024

Examples (New)

examplero=ResourceObject["Example"->"Face Analysis from Star Trek Video"]

examplero["ExampleNotebook"]

Demonstrations (Now in the Resource System)

demo=ResourceObject["Demonstration"->"Distance and Dissimilarity Patterns"]

ResourceData[demo]

Creating a ResourceObject from your content

There are several reasons to create a ResourceObject from your content

Attach metadata

Create documentation

Distribution

Using a Definition Notebook

Definition notebooks are the straightforward way to make a ResourceObject from your content.

Example

CreateNotebook["ExampleResource"]

A pre-filled notebook

NotebookPut[]

Demonstrations

CreateNotebook["Demonstration"]

A pre-filled notebook

NotebookPut[]

Distributing a ResourceObject

There are two main ways to distribute content as a ResourceObject

Cloud deployment

You are in control. (Permissions, exposure, testing, etc.)

Publication in a repository

Publicly usable and discoverable

Tested and reviewed (except paclets)

What to publish

Publish content that is generally useful or interesting and does not duplicate existing content. If the audience is very limited, cloud deployment is the better choice.

Note: I recommend always cloud deploying content before trying to submit it. It is the best test available.

Guidelines

Each repository has guidelines to help you match standards and conventions.

Demonstrations

Example

Function

Submission, Review and Publication

Except for Paclets submitting a resource sends it to us (real-life human beings at Wolfram) who will review it.

There will usually be comments and changes required before it is published. We care deeply about names.

Submitting content requires a Publisher ID. These are free and you can generate one for your Wolfram Cloud account automatically.

Why

Publication can take time and effort, but there are many benefits. Published content will:

Work in WL for anyone anywhere

Be discoverable in searches (within Wolfram and externally in Google etc)

Inspire other developers

Where to publish

Text[Grid[{
{"One independent function","Function Repository"},
{"A collection of related or interdependent functions","Paclet Repository"},
{"A static expression that people will want to explore programmatically","Data Repository"},
{"A dynamic output that people will want to play with","Demonstrations"},
{"A straightforward workflow that accomplishes a task","Example Repository"},
{"Useful prompting for LLMs, possibly including code and templating","Prompt Repository"},
{"A research document which happens to be a Wolfram notebook","Notebook Archive"},
{"A work in progress in search of comment or collaboration","Wolfram Community"}
},Dividers->All, Spacings->{5, 2}
],BaseStyle->{10,FontFamily->"Source Sans Pro"}]

???Questions???

Talks featuring content published in repositories:

What’s New in Chemical Education?

Second Quantization and Its Applications in Quantum Optics

DiffTools Developments

Analyze Biological Networks in Wolfram Language

New Graphics Features and Improvements

Wolfram Astronomy

IGNORE THIS.

CloudConnect[]

$PublisherID="Bob"

SetOptions[Dataset,MaxItems->{5,7}];

ResourceData[ResourceObject["Demonstration"->"Distance and Dissimilarity Patterns"]]