Encontrar

InterSystems 官方
· 一月 26, 2024 阅读大约需 2 分钟

Cómo instalar Apache en sistemas operativos compatibles con IRIS

Para vuestra comodidad, InterSystems está publicando los pasos de instalación característicos de los sistemas operativos que son compatibles con InterSystems IRIS.

Para Microsoft Windows, consultad por favor la documentación de producto de InterSystems.

El instalador de IRIS detectará si hay un servidor web instalado en la misma máquina, lo que da la opción de tener configurado automáticamente el servidor web.

Todas las instalaciones de Apache requerirán permiso de sudo (recomendado) o de root para instalar el servidor web. Este requisito es compatible con las mejores prácticas recomendadas.

Para Red Hat (RHEL), InterSystems está instalando ficheros SELinux para admitir conexiones a través de http o https (si están configuradas).

Opcionalmente los scritps proporcionan instrucciones sobre cómo convertir los pasos de instalación en un fichero ejecutable (el nombre del fichero solo es una recomendación).

InterSystems ofrece tres vídeos y un podcast con información adicional y ejemplos de uso.

Esperamos que el nuevo proceso os resulte rápido, sencillo y claro. Cambiar el procedimiento no fue una decisión fácil, pero era requerido a menudo por los clientes y está en línea con las mejores prácticas.

Una vez que hayáis cambiado del Servidor Web Privado, probablemente es tan fácil como instalar apps en vuestros dispositivos móviles.

Instrucciones de instalación

Fichero script para Ubuntu

# instalar o actualizar apache2

sudo apt install apache2 -y

# habilitar e iniciar httpd

sudo service apache2 start --now

apache2 -v

Fichero script para RedHat

# instalar o actualizar httpd

sudo dnf install httpd -y

# habilitar e iniciar httpd

sudo systemctl enable --now httpd

sudo systemctl start httpd

httpd -v

# Confirmar el estado SELinux (que debería ser ejecuado)

getenforce

Fichero script para AIX

# instalar o actualizar httpd

sudo yum install httpd -y

# iniciará httpd

sudo /etc/rc.d/init.d/httpd start

httpd -v

Fichero script para SUSE

#  instalar o actualizar apache2

sudo systemctl enable apache2

# habilitará e iniciará apache2

sudo systemctl restart apache2

systemctl status apache2

讨论 (0)2
登录或注册以继续
文章
· 一月 18, 2024 阅读大约需 3 分钟

CPU のマイクロアーキテクチャファミリと命令セットの判定方法

はじめに

InterSystems は、最新の CPU 命令セット拡張機能を活用するために、IRIS を最適化したいと考えています。製品のパフォーマンスに対しては素晴らしいことですが、CPU が新しい IRIS ビルドにサポートされるかを知るにはどうすればよいでしょうか。ここでは、CPU のマイクロアーキテクチャファミリと CPU の特定の命令セット拡張機能を知る方法について説明します。

讨论 (0)1
登录或注册以继续
问题
· 一月 17, 2024

How to export a project via Visual Studio Code?

Hi everyone, 

Does anyone know how to export projects via VSC? 

I opened the project through the "InterSystems Tools" plugin (command is "Edit Code in Project") and I can correctly work on it.

However, when I try using the "ObjectScript" plugin to export the project (right click on the project -> "Export Project Contents")

This message appears and it is not possible to export the project:

I've tried also to open a new window, then a folder and finally the project, but nothing changes. 

This is an example of my workspace: 


Anyone knows how to do it? 

Thank you! 

8 Comments
讨论 (8)5
登录或注册以继续
问题
· 一月 5, 2024

Problème de connexion SFTP

Bonjour,

Je fais face à un problème depuis plusieurs mois, j'ai plusieurs flux qui fonctionnent en SFTP avec la classe d'iris EnsLib.FTP.PassthroughService

Le problème est que de temps en temps, j'ai un message d'erreur qui dit : 

"Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée" 

J'ai eu le cas pour un serveur chez nous et nous avons solutionné le problème en rallongeant le paramètre intervalle entre appels à 60 secondes,

Cependant j'ai la même erreur pour un serveur extérieur avec exactement la même configuration que le premier flux, j'ai contacté leur service infrastructure qui m'ont dit qu'il manquait bien un connexion SFTP à l'heure de l'erreur mais ils n'ont aucune information et rien dans leur logs. 

Concrètement cela n'empêche pas le flux de fonctionner car au prochain appel, tout refonctionne, cependant le noeud reste en rouge jusqu'à ce qu'il y ait un nouveau "ConfigItem" et cela nous envoie donc un mail d'alerte et surtout nous passe notre production en erreur sur notre outil de supervision qui est relié à l'api monitor d'Iris

D'ailleurs je ne comprend pas à quoi correspond ce fameux ConfigItem qui arrive assez aléatoirement comme ici par exemple.

Est-ce que d'autres personnes possèdent des flux SFTP en continu ? Avez-vous déjà eu ce problème ?

Merci par avance 

7 Comments
讨论 (7)2
登录或注册以继续
文章
· 十二月 26, 2023 阅读大约需 3 分钟

CSPアプリケーションをReactを使って書き換えるその4

IRIS側の処理は、IRISでREST APIを実装する方法を理解していれば、簡単です。

前回のログイン処理でユーザー認証をIRIS側でどのように実装されているか確認して見ましょう。

まずはディスパッチクラスの定義です。

Shop.Brokerというクラスの中で定義されています。

checkpasswordというメソッドが最後に定義されていて、最終的にShop.Rest.Customer:checkPasswordという(クラス)メソッドが呼ばれているのがわかると思います。

 

ここで定義しているパラメータは、とりあえずおまじない的に含めておくことをお勧めします。

(説明し出すと少し長くなるので)

Class Shop.Broker Extends %CSP.REST
{
Parameter CONVERTINPUTSTREAM = 1;
Parameter HandleCorsRequest = 1;
XData UrlMap
{
<Routes>
  <Route Url="/product/:code" Method="GET" Call="Shop.Rest.Product:getRecord"/>
  <Route Url="/products" Method="GET" Call="Shop.Rest.Product:listRecords"/>
  <Route Url="/deleteproduct/:code" Method="GET" Call="Shop.Rest.Product:deleteRecord"/>
  <Route Url="/addproduct" Method="POST" Call="Shop.Product:createRecord"/>
  <Route Url="/modifyproduct" Method="POST" Call="Shop.Rest.Product:modifyRecord"/>
  <Route Url="/customer/:id" Method="GET" Call="Shop.Rest.Customer:getRecord"/>
  <Route Url="/customers" Method="GET" Call="Shop.Rest.Customer:listRecords"/>
  <Route Url="/deletecustomer/:id" Method="GET" Call="Shop.Rest.Customer:deleteRecord"/>
  <Route Url="/addcustomer" Method="POST" Call="Shop.Customer:createRecord"/>
  <Route Url="/modifycustomer" Method="POST" Call="Shop.Rest.Customer:modifyRecord"/>
  <Route Url="/addorder" Method="POST" Call="Shop.Rest.POrder:createRecord"/>
  <Route Url="/order/:id" Method="GET" Call="Shop.Rest.POrder:getRecord"/>
  <Route Url="/orders" Method="GET" Call="Shop.Rest.POrder:listRecords"/>
  <Route Url="/checkpassword/:userid/:password" Method="GET" Call="Shop.Rest.Customer:checkPassword"/>
</Routes>
}

}

 

 

Shop.Rest.CustomerクラスのcheckPasswordメソッドの中は以下のような感じです。

IRISがわかっている人ならば中身の説明は不要ですよね。

ClassMethod checkPassword(pUserId As %String, pPassword) As %Status
{
    set status = $$$OK
    
    try {
        
      if $data(%request) {
        set %response.ContentType="application/json"
        set %response.CharSet = "utf-8"
      }
      
      set cust=##class(Shop.Customer).CheckPasswd(pUserId, pPassword)
      set return = {}

      if cust = "" {
        set return.authorized = "ng"
      }
      else {
        set return.authorized = "ok"
        set return.ID = cust.%Id()
      }

      do return.%ToJSON()
    
    }
    catch e {
        
      set status = e.AsStatus()
    }
                        
    Quit status
}

 

大体こんな感じです。

結構色々なことを理解しないとなかなか前に進めませんが、やはり理解するには自分で何か作ってみるのが一番です。 

讨论 (0)1
登录或注册以继续