Encontrar

Anuncio
· 16 dic, 2024

Doxygenerate - a new tool for building standalone documentation of your IRIS application's object model

The InterSystems platforms have always offered dynamic documentation of the packages and classes in a namespace, a feature known informally as Documatic. But what if you need to publish this class reference information on a website without requiring the site to be connected to an IRIS server containing the actual classes?

For my entry to the December 2024 Developer Community “Bringing Ideas to Reality” contest I decided to implement the idea of a generator that produces a static set of class reference pages . And since I chose to leverage the well-established Doxygen tool I named my tool Doxygenerate.

Intrigued? Go to https://georgejames.com/files/doxygenerate/MARINA/index.html where you can browse the object model of a real-world class-based application for marina management, built with InterSystems technology, but do so from a website that doesn't run an InterSystems server nor connect to one elsewhere.

Where the MARINA application's classes reference classes in the IRISLIB packages you can follow links to those, including from the Inheritance and Collaboration diagrams that Doxygen gives us for free. Or if you fancy browsing all the IRISLIB packages directly, go to https://georgejames.com/files/doxygenerate/__IRISLIB/index.html. Similarly the ENSLIB packages (not used by MARINA) are available at https://georgejames.com/files/doxygenerate/__ENSLIB/index.html. And the %SYS packages can be explored  at https://georgejames.com/files/doxygenerate/_SYS/index.html.

Want to try it with your own application? Start here.

"What sorcery is this?"

Doxygen doesn't understand InterSystems class definitions. But it does understand many other languages, including Python. So Doxygenerate writes stub Python files that lack method code but contain just enough to make Doxygen create a meaningful class reference. I call these simulacrum files. Think of them as like the building facades on a film lot. Not enough substance to function as buildings, but sufficient to convince the viewer that they're on the main street of a classic Western where a gunfight may be about to break out.

Feedback is welcome here, or by opening issues on Doxygenerate's GitHub repository.

If you like what I've done please support Doxygenerate in the contest before voting ends on 22 Dec, 2024 at 11:59:59 PM EST.

1 Comentario
Comentarios (1)1
Inicie sesión o regístrese para continuar
Anuncio
· 16 dic, 2024

Time to vote in the InterSystems "Bringing Ideas to Reality" Contest

Hi Community,

It's voting time! Cast your votes for the best applications in our "Bringing Ideas to Reality" Contest:

🔥 VOTE FOR THE BEST APPS 🔥

How to vote? Details below.

Experts nomination:

InterSystems experienced jury will choose the best apps to nominate the prizes in the Experts Nomination.

Community nomination:

For each user, a higher score is selected from two categories below:

Conditions

Place
1st 2nd 3rd
If you have an article posted on DC and an app uploaded to Open Exchange (OEX) 9 6 3
If you have at least 1 article posted on DC or 1 app uploaded to OEX 6 4 2
If you make any valid contribution to DC (posted a comment/question, etc.) 3 2 1

 

Level

Place
1st 2nd 3rd
VIP Global Masters level or ISC Product Managers 15 10 5
Ambassador GM level 12 8 4
Expert GM level or DC Moderators 9 6 3
Specialist GM level 6 4 2
Advocate GM level or ISC Employees 3 2 1

Blind vote!

The number of votes for each app will be hidden from everyone. Once a day we will publish the leaderboard in the comments to this post. 

The order of projects on the contest page will be as follows: the earlier an application was submitted to the competition, the higher it will be on the list.

P.S. Don't forget to subscribe to this post (click on the bell icon) to be notified of new comments.

To take part in the voting, you need:

  1. Sign in to Open Exchange – DC credentials will work.
  2. Make any valid contribution to the Developer Community – answer or ask questions, write an article, contribute applications on Open Exchange – and you'll be able to vote. Check this post on the options to make helpful contributions to the Developer Community.

If you change your mind, cancel the choice and give your vote to another application!

Support the application you like!


Note: contest participants are allowed to fix the bugs and make improvements to their applications during the voting week, so don't miss and subscribe to application releases!

7 comentarios
Comentarios (7)3
Inicie sesión o regístrese para continuar
Pregunta
· 16 dic, 2024

Blank jobs due to missing implementation at time of sending deferred response how to clear

When implementing deferred response there was a problem initially with a few responses which meant we had blank jobs spawned somehow. How do you get rid. All the operation does is:

  SET sc =..SendRequestAsync($piece(..ForwardComponentNames,",", i),pRequest,1)

These all sent ok and tried to update status to 9 from 6 hoping it would clear the blank jobs but it didn't . The original issue has been resolved weeks ago. 

6 comentarios
Comentarios (6)1
Inicie sesión o regístrese para continuar
Artículo
· 16 dic, 2024 Lectura de 1 min

Explicação sobre grupos e tags na Comunidade de Desenvolvedores

Ei Comunidade!

Hoje decidimos esclarecer outro tópico importante que, aparentemente, surpreende alguns de vocês. É o uso de Grupo e Tags. O primeiro é obrigatório, mas o segundo não.

Quando você está criando uma publicação, há dois campos aparentemente similares após a área do corpo do texto - Grupo e Tags.

Grupos

Grupos são principalmente nomes de produtos e serviços InterSystems.

Então quando você está escrevendo uma publicação na comunidade, você precisa escolher cuidadosamente sobre qual produto a sua publicação fala. Na maioria dos casos, será sobre só um deles, a não ser que você esteja escrevendo sobre usar VSCode com IRIS, por exemplo. Neste caso, você pode escolher ambos.


Tags

Tags permitem que você descreve do que o seu post trata de maneira mais precisa. Você pode escolher da lista de drop-down a linguagem, tecnologia, sistema operacional, domínio, etc. É claro, pode haver mais de uma tag na publicação.

Então, se você deseja que sua publicação atinja as pessoas certas, o que é especialmente crucial para perguntas, é importante escolher o Grupo e Tags corretos. Dessa maneira, outros membros não vão perder tempo em algo que não é relevante e, por outro lado, verão o que é interessante a eles.

Se você não tem certeza do que significa o nome da tag (ou grupo), então provavelmente não precisa utilizá-la ;)

Esperamos que isso esclareça  um pouco o uso de Grupos e Tags ✌️

Comentarios (0)1
Inicie sesión o regístrese para continuar
Comentarios (5)1
Inicie sesión o regístrese para continuar