Technologie Orion
Solaris 11.4
DTrace —
ZFS —
Zones —
node.js v21.6.1
- Comme Editor.md est excellent, nous l’avons porté vers
node.js
—
Perl v5.38.2
- Maintenant avec mod_perl v2.0.13 w/ ithreads et httpd v2.4.58 w/ event mpm.
Subversion v1.14.4
ithread-safe personnalisé
SVN : :Client
.liaisons python3 natives (v3.8.3).
ports python3 thread de svnpubsub et svnwcsub —
terminé le python3 affichervc.
Quelques remarques sur les routes non (encore ?) Pris…
SQL
Nous sommes une boutique NoSQL pour l’ensemble de notre infrastructure de site Web, et si vous êtes confronté à un point de défaillance unique géant connu sous le nom de SGBDR qui pilote les actifs de votre site, veuillez reconsidérer une approche plus décentralisée basée sur la technologie #Jamstack et Serverless. Même si ce n’est pas le nôtre. Vous nous remercierez plus tard !
Pourquoi pas Git ?
Le
svn git
bridge existe déjà si vous préférez travailler avec git vous-même, au lieu d’utiliser l’IDE en ligne pour Orion ™. Vous avez des options ! Vous pouvez constater que vous obtenez encore plus de kilométrage sur les actions GitHub en poussant vos modifications vers GitHub (et en les affichant dans une action GitHub, ou un hook pré-commit, ou les deux, disons) avantgit svn dcommit
- les envoyer à nos dépôts Subversion pour publication en direct. Ici.Les arbres de source de site Web ne sont pas tout à fait comme les arbres de source de logiciel, en termes de la façon dont vous les modifiez et les gérez. Ils sont plus alignés avec devops / développement basé sur le tronc avec
gitflow
. De plus, des sites gigantesques vont avoir besoin de SSI, et peut-être d’un peu de CGI, pour leur utilisation : à tout le moins pour éviter l’attrition massive et peu consultable du site par un mailer de commit tout aussi massifdiff.
.
Essayer d’obtenir une implémentation SSI entièrement fonctionnelle à partir d’un “serveur Web” local que vous utilisez pour prévisualiser vos modifications dans un autre système de construction, est juste un peu stupide si vous arrêtez et pensez à cela. Avec notre Orion, il vous suffit de créer une branche dans svn et hors de vous : éditer, valider, construire, naviguer et itérer, instantanément, sur un site Web éphémère et connecté à Apache intégré à Orion. ™
Lorsqu’il est temps de migrer ces modifications vers le site de production basé sur le tronc, vous pouvez choisir de promouvoir autant, ou aussi peu, de la branche que vous le souhaitez, directement vers le tronc. Si le tronçon s’est déplacé vers l’avant depuis que les modifications de votre branche étaient finalement prêtes pour l’heure de début, cliquez simplement sur le bouton Synchroniser pour synchroniser le tronçon fusionné avec votre branche. Après avoir revérifié les résultats de construction de votre validation post-sync-merge sur le site Web de votre agence, allez-y et cliquez sur le lien Promouvoir, suivez-le avec un engagement sur la même page avec un message de journal de validation raisonnable, et voilà , vous diffusez maintenant sur la construction de production du tronçon.
Si vous avez besoin de distribuer et de traiter les arbres de construction résultants en utilisant le contrôle de version, vous n’aimerez pas git à grande échelle. Surtout lors de l’intégration d’artefacts binaires (par exemple, des versions logicielles) ou de la documentation produit (héritée) (pensez à doxygène ou javadocs), construits à l’aide de ce système ou à l’aide d’un constructeur tiers que vous utilisez localement pour simplement télécharger ces résultats de build directement dans nos référentiels cible. Grâce à notre approche, vous pouvez éviter l’encombrement et le gonflement inutiles dans l’arbre source de votre site, contrairement à la façon dont il fonctionnerait avec git, en utilisant des branches dans un référentiel commun à votre source et à construire des arbres.
Subversion prend en charge le contrôle d’accès de niveau fin et vous permet d’effectuer des extractions partielles/sparses de
TÊTE
.Pour l’IDE, nous aurions besoin de liaisons Perl en lecture + écriture pour
libgit2
(qui n’est pas fourni par l’équipe de développement git réelle, et est en grande partie soutenu par des sociétés mégalithiques qui ne fournissent PAS d’IDE en ligne pour git en tant que produit SaaS comparable ; et non, GitHubn’est-ce pas) afin de correspondre au régime de gestion de la mémoire compatible httpd de svn et à la sécurité des threads POSIX (+ Perl ithreads), dans un environnement d’exécution persistant, et sur plusieurs référentiels git côté serveur sur disque des arborescences de sites Web client. La maturité de cette infrastructure open source n’est pas bancable pour 2020 dans notre estimation, mais nous garderons un œil sur l’évolution de la situation. En vous regardant,Git : :Raw
.Je ne sais toujours pas comment faire une porcelaine git posix-thread-safe. La sécurité des fils dans des référentiels distincts, mais dans la RAM d’un processus commun, est le cas d’utilisation, et non la sécurité des fils dans un référentiel donné (ce qui est une demande nutty).
Pourquoi pas Python, Ruby, Javascript ou Go ?
GIL-adresse
mod_python
encore un chemin à parcourir avant d’atteindre la maturité demod_perl
dans un mpm fileté. De plus, l’implémentation actuelle de notre produit est étroitement intégrée à l’API du module complet du serveur Apache HTTPd, qui nemod_perl
.GIL-adresse
mod_ruby
a été largement abandonné par la communauté Ruby pour diverses raisons de contrôle de la qualité. Port des sources personnalisées 5K LOC Perl 5 d’Orion ™
Voici un instantané, daté du 19 juillet 2020, de la partie SunStar Systems de l’arborescence source de production pour l’ensemble de l’Orion (IDE+build). Il y a peu d’autres personnes impliquées au-delà de notre Dotiac : :DTL
.
joe@zeus:/x1/Orion% wc -l */lib/SunStarSys/**/*.pm
1 build/lib/SunStarSys/ASF.pm
128 build/lib/SunStarSys/SVNUtil.pm
270 build/lib/SunStarSys/Util.pm
36 build/lib/SunStarSys/Value.pm
82 build/lib/SunStarSys/Value/Blogs.pm
61 build/lib/SunStarSys/Value/Jira.pm
77 build/lib/SunStarSys/Value/Mail.pm
70 build/lib/SunStarSys/Value/SVN.pm
106 build/lib/SunStarSys/Value/Snippet.pm
85 build/lib/SunStarSys/Value/Twitter.pm
378 build/lib/SunStarSys/View.pm
1260 webgui/lib/SunStarSys/Orion.pm
112 webgui/lib/SunStarSys/Orion/Cookie.pm
183 webgui/lib/SunStarSys/Orion/Filter.pm
90 webgui/lib/SunStarSys/Orion/MapToStorage.pm
59 webgui/lib/SunStarSys/Orion/WC.pm
194 webgui/lib/SunStarSys/Orion/WC/Add.pm
97 webgui/lib/SunStarSys/Orion/WC/Browse.pm
133 webgui/lib/SunStarSys/Orion/WC/Commit.pm
79 webgui/lib/SunStarSys/Orion/WC/Copy.pm
66 webgui/lib/SunStarSys/Orion/WC/Delete.pm
47 webgui/lib/SunStarSys/Orion/WC/Diff.pm
182 webgui/lib/SunStarSys/Orion/WC/Edit.pm
116 webgui/lib/SunStarSys/Orion/WC/Mail.pm
70 webgui/lib/SunStarSys/Orion/WC/Merge.pm
67 webgui/lib/SunStarSys/Orion/WC/Move.pm
52 webgui/lib/SunStarSys/Orion/WC/Production.pm
47 webgui/lib/SunStarSys/Orion/WC/Promote.pm
60 webgui/lib/SunStarSys/Orion/WC/Resolve.pm
64 webgui/lib/SunStarSys/Orion/WC/Revert.pm
82 webgui/lib/SunStarSys/Orion/WC/Rollback.pm
123 webgui/lib/SunStarSys/Orion/WC/Search.pm
78 webgui/lib/SunStarSys/Orion/WC/Staged.pm
24 webgui/lib/SunStarSys/Orion/WC/Static.pm
49 webgui/lib/SunStarSys/Orion/WC/Update.pm
220 webgui/lib/SunStarSys/SVN/Client.pm
4848 total
Tentative d’intégration
GoLang
.En ce qui concerne le système de construction Perl 5, restez à l’écoute ! *Aucune raison pour qu’il ne puisse pas * être porté à un autre langage de programmation, car le système de construction est complètement isolé d’Orion ™IDE en ligne de ‘s (en dehors du démon de rendu de démarque basé sur
node.js
, qui est un système autonome lui-même) pour un million de raisons de sécurité / conception architecturale. Si vous avez besoin d’un teaser sur les possibilités, jetez un oeil à labuild_external.pl
.Oui, la trajectoire de popularité de Perl suit ironiquement celle de COBOL, ou même de Common Lisp, malgré la domination d’Unix sur le marché des serveurs ; mais certaines choses vieillissent mieux que d’autres. Le solide (et unique Perl)
ithread
ingénierie horsp5p
, en prévision de l’avènement de Perl 7, est une bonne nouvelle pour les développeurs mod_perl qui s’accrochent toujours à la vision originale de Doug MacEachern. Si vous êtes au genou dans plus de 100 sources LOC Perl pour obtenir ce dont vous avez besoin de notre système de construction Perl uniquement actuel, discutons —
Pourquoi pas avec quelque chose basé sur la JVM ?
- Je viens de travailler de cette façon, compte tenu de mes 20 ans d’histoire avec le LAMP Stack et des contributions constructives à la communauté étendue de serveurs Web Apache HTTPd. Doable, mais encore une fois une entreprise massive avec beaucoup de problèmes d’ingénierie difficiles à résoudre en cours de route.
Index
Caractéristiques Orion — Même moteur de rendu de code javascript dans votre navigateur et dans le script de build markdown.js (basé sur node.js)…
SunStar Orion des systèmes — Wiki d’entreprise pour créer, gérer et fournir des pages Web statiques à l’aide de la technologie #Jamstack pour les fonctionnalités dynamiques qu’elles contiennent…
API Orion — Cette page indexe les API Rechercher, Editeur en ligne, Bibliothèque de modèles Django et Créer un système…
Référence Orion — Ces icônes de crayon rose vif
en haut à droite le long de la chapelle vous donnera une démonstration en direct…
Plans Orion — Remises annuelles à l’avance disponibles (jusqu’à 20 % sur les coûts de facturation mensuels)…
Politique de confidentialité d’Orion — Il s’agit d’un système de consentement conforme au RGPD. Première visite à l’Orion ™ CMS/IDE, vous serez dirigé vers une page Google vous demandant d’autoriser…
Orion Security — “La sécurité par l’obscurité n’est pas beaucoup de sécurité du tout.”…