DEPRECATED: Distributing and viewing data as pages
Paged topics act differently to standard publishing topics. Distributing data through paged topics
Concepts
- Page
- A page is a subset of the tabular data stored on a paged topic. Each page is made up of a certain number of lines.
- Line
- A line is a single item of data stored on a paged topic. A line can be a string or a record.
- Add
- Lines are added to a paged topic.
- Update
- The content of lines can be updated.
- Remove
- Lines can be removed from a paged topic.
- View
- A view is a representation of data on a paged topic that can be opened by a subscribing client. The subscribing client can open a view on the paged topic that includes a specified number of lines of the topic data.
- Ordering
- Lines on a paged topic can be ordered according to simple or user-defined criteria.
- Dirty
- If a line is added into a paged topic in a position that is open in a subscribing client's view. That view is dirty and must be refreshed to show the latest topic data.
Behavior
Paged topics have state which is stored in a tabular format, as pages of lines. Unlike publishing topics, clients do not publish updates to a paged topic to change the state. Instead clients add, update, or remove lines in the topic.
Paged topics can be ordered or unordered. You can define the ordering of a paged topic by using a user-defined comparator class that is located on the Diffusion™ server or by declaring the rules that are used for the ordering when you create the topic. Lines that are added to unordered paged topics are added at the end. Lines that are added to ordered paged topics are added at the position defined by the comparator or rules.
A client must subscribe to a paged topic to be able to access the data on it. However, unlike publishing topics clients do not receive updates whenever changes are made to the paged topic state. To access the data, the client must open a view on the paged topic and specify how many lines per page and what page to open the view on. The client can then page through the data. If the state of the client's current page changes, the client is notified and can choose to refresh the page.