发布新帖

查找

公告
· 九月 3, 2024

InterSystems 2024开发者竞赛:开发者工具(Tools)

Hi开发者们,

我们很高兴邀请大家参加我们的新一轮开发者竞赛,此次竞赛致力于创造有用的工具,让开发伙伴们的生活更轻松:

🏆 InterSystems 2024开发者竞赛:开发者工具(Tools) 🏆

欢迎提交有助于加快开发速度、贡献更多定性代码,并有助于使用 InterSystems IRIS 测试、部署、支持或监控您的解决方案的应用程序。

时间:2024年9月9日-29日(美国东部时间)

奖金池:14,000美元


主题

💡  InterSystems IRIS 开发者工具 💡

在本次竞赛中,我们期待应用程序能够改善开发人员使用 IRIS 的体验,帮助用户实现更快的开发,贡献更多定性代码,帮助测试、部署、支持或监控您使用 InterSystems IRIS 的解决方案。

一般要求:

  1. 应用程序或库必须具有完整的功能。它不应该是另一种语言中已经存在的库的导入或直接接口(C++除外,在C++中,您确实需要做大量的工作来为IRIS创建接口)。它不应是现有应用程序或库的复制粘贴。
  2. 有效应用程序:100%全新的Open Exchange Apps或已有的应用程序(但有显著提升)。所有参赛者/团队提交的应用程序只有经过我们团队的审核之后才会被批准参赛。
  3. 该应用程序应在 IRIS ,IRIS for Health或IRIS Cloud SQL上运行。前两者都可作为host (Mac, Windows)版从Evaluation site下载,或者可以按从 InterSystems Container Registry或Community Container中提取的容器形式使用:intersystemsdc/iris-community:latest or intersystemsdc/irishealth-community:latest 。
  4. 该应用需开源并在GitHub上发布。
  5. 该应用的README文件应为英文,包含安装步骤,并包含视频demo或/和应用程序如何运行的描述。
  6. 每位参赛者最多可提交3个应用。

请留意:我们的专家将根据复杂性和实用性的标准最终决定应用程序是否被批准参加比赛。他们的决定是最终决定,不得申诉。

奖品

1. 专家提名奖(Experts Nomination)——获奖者由我们特别挑选的专家团选出:

🥇第一名 - 5,000 美元

🥈第二名 - 3,000 美元

🥉第三名 - 1,500 美元

🏅第四名 - 750 美元

🏅第五名 - 500 美元

🌟第 6-10 名 - 100 美元

2. 社区提名奖(Community Nomination)—— 获得总票数最多的应用程序:

🥇第一名 - 1,000 美元

🥈第二名 - 750 美元

🥉第三名 - 500 美元

🏅第四名 - 300 美元

🏅第五名 - 200 美元

如果几位参与者获得相同数量的选票,他们都将被视为获胜者,奖金由获胜者分享。

谁可以参加?

任何开发者社区的成员均可参加,InterSystems内部员工除外(InterSystems contractor员工可以参加)。还没有账号?现在来建一个!      

 

👥开发人员可以组队创建协作应用程序。一个团队允许 2 到 5 名开发人员。

请注意,要在您的README文件中标注您的团队成员(社区用户主页)。

重要截止日期:

🛠 应用程序开发和注册阶段:

  • 2024年9月9日 (美国东部时间00:00):竞赛开始
  • 2024年9月22日(美国东部时间23:59):  应用提交截至

 投票时间:

  • 2024年9月23日(美国东部时间00:00): 投票开始
  • 2024年9月29日(美国东部时间23:59): 投票截至

注意:在整个参赛期间(开发与投票期间),开发者可持续编辑、提升其应用。

资源助力

✓ 示例应用

✓ 我们建议您从以下template开始

✓ 对IRIS 和 Python初学者有用的资源

✓ 对IRIS 和 ObjectScript初学者有用的资源

✓ 对 ObjectScript Package Manager (ZPM) 初学者有用的资源

✓ 如何向大赛提交应用?

需要帮助?

加入InterSystems' Discord server 上的竞赛频道,或者在这篇帖子下面跟帖留言。 

期待您的精彩提交 - 加入竞赛,来赢得胜利!👍


❗️参加本次比赛即表示您同意此处列出的比赛条款。请在继续之前仔细阅读它们。 ❗️

 
讨论 (0)1
登录或注册以继续
公告
· 九月 2, 2024

The 2nd InterSystems Japan Technical Writing Contest!

Hello developers!

Last year, for the first time, we held the Technical Article Contest on Japan's InterSystems Developer Community, and 📣 we are holding it again this year!📣

The topics are the same as last year, and you can submit any content related to InterSystems IRIS/InterSystems IRIS for Health.

🖋 InterSystems Japan Technical Article Contest – 2024: Articles related to IRIS 🖋

🎁 Participation prize:Everyone who submits a post will receive our👚Developer Community’s original T-shirt👕!!

🏆 Special Prize:Authors of three selected works will receive special prizes.

Updated on 30/8: Prize information added!Please check it out!👇

讨论 (0)0
登录或注册以继续
问题
· 八月 30, 2024

Only load part of XML/ SQL Snapshot in visual trace- portal loads too slow

As part of fully decoupling code we send a snapshot from a business service (running a SQL statement). 

sql service                         Processor                                File Out

This is picked up by a processer and puts it into a file .txt. 

Issue is if you open it up via the SQL.snapshot message as this is 46,819 rows it'll take too long to respond to opening up the sql.snapshot in the message viewer when viewing the session if looking from the business service 

Is there any way to not have this xml open up in full in the portal? I.e. have a see more? 

I am aware this could just be in the BP but for me this is the correct integration setup- SQL service to pick up the data- process to do something with it (passed in the correct message type for it) and then sent to a file/ downstream. 

3 Comments
讨论 (3)2
登录或注册以继续
问题
· 八月 19, 2024

Question about PKI Configuration

Hello everyone,

I'm currently working on getting familiar with OAuth2, following this article. Since Part 2 involves using PKI, I decided to implement it as outlined in the article. However, I've run into an issue that I can't seem to resolve, and my searches on Google haven't yielded any useful results.

Here's a brief overview of what I've done so far:

Configuring the PKI Server:

  • Navigated to: System Administration > Security > Public Key Infrastructure > Configure Local Certificate Authority Server.
  • Filled in all the required fields and saved the configuration.

As far as I can tell, this step was successful. The following three files were generated, and the message displayed was:

"Certificate Authority server successfully configured. Using existing files: D:\CacheSys\mgr\root_ca.cer, .key, and .srl."

Configuring the PKI Client:

  • Navigated to: System Administration > Security > Public Key Infrastructure > Configure Local Certificate Authority Client.
  • Again, I filled in all the necessary fields and saved the configuration.

 

This also seemed to work fine. The message after saving was:

"Certificate Authority client successfully configured."

Submitting a Certificate Signing Request:

  • Navigated to: System Administration > Security > Public Key Infrastructure > Submit Certificate Signing Request to Certificate Authority Server.
  • Filled in all the required fields and saved the configuration.

However, now I'm seeing the following error message:

"ERROR #5002: ObjectScript Error: <WRITE>Send+122^%Net.HttpRequest.1"

 

The auth.csr and auth.key were nevertheless created.

I’m not sure how to interpret this error message. If anyone has any insight into what might be missing or where the problem lies, I would greatly appreciate your help.

maybe also important:

Below are the SSL settings for the CA Test Server:

 

Thank you in advance for your assistance.

Best regards,
Daniel Goerke

1 Comment
讨论 (1)2
登录或注册以继续
文章
· 八月 16, 2024 阅读大约需 4 分钟

TestCoverage Embedded Python and UI

Two big changes for the TestCoverage open source tool: Embedded Python support, and a new UI 

Embedded Python

Previously, TestCoverage could only track unit test coverage for code written in ObjectScript. It would ignore code written in other languages like Python in the coverage statistics.

 

As more and more IRIS application code is being written in Embedded Python instead of just ObjectScript, it's critical that TestCoverage can include coverage results for Embedded Python code. Customers (through the TestCoverage GitHub issues) as well as others in InterSystems have expressed interest in seeing Embedded Python support.

 

The user still installs and runs TestCoverage the same way as before, as described on the TestCoverage GitHub. The coverage results for Embedded Python code now get included in the aggregate coverage statistics as well as the individual line coloring, as displayed in the above example. 

Under the hood, the Embedded Python coverage is tracked using Python's sys.settrace tracer, independently of ObjectScript's %Monitor.System.LineByLine, and then the results are combined and displayed together. This can cause very minor discrepancies in which lines are marked as executable (i.e. can be run at all). For instance, in the above picture, Python considers the elif statement as executable, but ObjectScript does not consider the ElseIf statement as executable. At the end of the day, any line of code marked red was not covered, and any line of code marked as green was still covered; this just slightly affects which lines of code we ignore, which doesn't cause any problems. 

New TestCoverage UI 

The previous TestCoverage UI was an old Zen UI that didn't surface many of the useful statistics that TestCoverage tracks. In addition, TestCoverage could only be run from the command line. 

To solve these problems, we've created a new Angular UI building off of isc.perf.ui, the existing UI for interacting with the Line-By-Line Monitor (^%SYS.MONLBL). The web application comes with an accompanying REST API and WebSocket connection to retrieve data from the IRIS server. It also fixes the previous user authentication for isc.perf.ui, so that it now uses standard IRIS login/logout. This is also publicly available on the Open Exchange, under the name isc-perf-ui. Below are some of the new UI's features and uses. 

Installation

There are some additional steps for installing isc.perf.ui if you want to use the new TestCoverage features. On Windows only, you need to enable the IIS WebSocket protocol. On any OS, you need to give a specific user (usually CSPSystem) a resource permission (usually %DB_User) in the IRIS management portal. These steps are described on the isc-perf-ui GitHub page

Test Coverage Page

On the Test Coverage page, you can select the parameters that you want to run TestCoverage on your unit tests with.

  

The parameter explanations include descriptions of what each of these parameters control. You can also click into an input box to see a sample value, and there's input validation to make sure that your inputs are in a valid format.

After you press submit, the call to run TestCoverage will begin, and you'll see live progress of your unit tests in the log at the bottom of the page. 

 

After the tests have finished running, the dropdown select menu on the right should open with a list of routine + test path combinations, as well as the overall coverage percentage for your code and the link to the results of the unit tests themselves.

 

Click on any to be taken to the coverage results page for that routine under that unit test directory.

Here, you can see which lines of code were covered by your unit tests according to TestCoverage. There are also additional metrics like TotalTime, which tracks the amount of time the code spent on a certain line of code from its start to finish. 

 

You can further sort in ascending or descending order by clicking on the arrows next to the headers; this is a useful way to see which lines of code take the longest. 

 

Finally, the Show Methods button opens up a table with the cyclomatic complexity of each of your methods, showing which methods are the most complex and vulnerable to bugs. 

 

When you're done, can click the back button to go back to the launcher page. The red clear results button lets you clear all your test coverage runs.
 

Historical Coverage Page

After clicking on a specific past Run ID, you can view the class-level coverage results (line coverage, method coverage, timing) for all the classes in that run. This is the same data as the main results page from TestCoverage. This table is also sortable by each column. 

 

Again, both tools are available on the InterSystems Open Exchange (isc-perf-ui and Test Coverage Tool) and on GitHub. Good testing to everyone! 

  

4 Comments
讨论 (4)3
登录或注册以继续