为多个应用程序创建统一的应用程序布局 [英] Creating uniform application layout for multiple applications

查看:39
本文介绍了为多个应用程序创建统一的应用程序布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我公司的 IT 部门有大约 10 个频繁使用的 Xpage 应用程序.我想标准化它们并制作一个包含所有 10 个应用程序的应用程序".我正在寻找有关执行此操作的最佳方法的建议.

My company has about 10 heavily used Xpage applications in our IT department. I want to standardize them and make one "application" that contains all 10 apps. I am looking for advice on the best way to do this.

我的计划是制作一个 shell 应用程序,其应用程序布局如下所示.我将放置指向我想要的应用程序的链接,包括 App1、App2、App3 等所在的位置.

My plan is make a shell application with a application layout like the one below. I will put links to the apps I want include where App1, App2, App3, and so on are.

每个应用程序都有相同的横幅(顶部为黑色),但应用程序布局的其他所有内容都不同.我希望以这样一种方式来执行此操作,即我可以将横幅作为一个设计元素进行维护并继承到我需要的任何数据库.这样我就不必在更改时触摸每个数据库.有没有办法做到这一点.

Each application would have the same banner (top part in black) but everything else for the app layout would be different. I would like to do this in such a way that I can maintain the banner as one design element and inherit to any of the DBs that I need. That way I wouldn't have to touch every db when this changed. Is there a way to do this.

我有这个问题的第二部分.我想让这个应用程序的一部分为用户定制.因此,希望他们能够向应用程序添加指向常用 Lotus Notes 数据库的链接,并且该链接仅对他们显示.我的想法是制作包含他们的用户名作为关键字段的文档,并让他们添加/更改/删除链接和子集以仅显示他们的.但是有没有更好的方法来做到这一点?

I have a second part to this question. I would like to make part of this app customizable for the user. So would like to let them be able to add links to frequently used Lotus Notes DBs to the app and it would appear only for them. My idea it to make document that contains their username as a key field, and let them add/change/remove links and subset to show only theirs. But is there an better way to do this?

我需要提及的是,我正尝试在 XPiNC 中执行此操作.我在这方面遇到了很多麻烦.首先,我只想在 App1 中单击 App2 并在我所在的同一选项卡中打开该应用程序.这样它就会显示为好像用户真的在同一个应用程序中一样.

I needed to mention that I am trying to do this in XPiNC. I am having a lot of trouble with this. First I just want to be able to be in App1 and click on App2 and open that App in the same tab as I am in. That way it will appear as if the user is really in the same app.

我有一个包含以下代码的 basicLeafNode,但它会在新选项卡中打开.如何让应用在同一个标​​签页中打开?

I have a basicLeafNode with the following code, but it opens in a new tab. How can I get the app to open in the same tab?

                    <xe:basicLeafNode
                        label="CompuWeigh Monitor">
                        <xe:this.href><![CDATA[#{javascript:var url = "notes://KC1/compuweigh.nsf/xpHome.xsp?OpenXpage"
url}]]></xe:this.href>
                    </xe:basicLeafNode>

推荐答案

我已经这样做了,但我在服务器上使用了 osgi 插件.基本上在应用程序中,我放置了布局控件并为控件指定了特定名称.

I have done exactly this but I'm using an osgi plugin on the server. Basically in the application I put on my layout control and give the id for the control a specific name.

然后在 osgi 插件中我有一个 beforeRenderResponse phaselistener 设置.该阶段侦听器查看发送回浏览器的页面,查看页面上是否有我给它指定名称的布局控件组件,如果有,则访问布局控件配置并动态添加链接和根据需要选择控件.

Then in the osgi plugin I have has a beforeRenderResponse phaselistener setup. This phaselistener looks at the page being sent back to the browser, sees if there is a layout control component on the page with the specific name that I have given it and if there is it then accesses the layout controls configuration and dynamically adds the links and options to the control as required.

就我而言,我从存储在服务器上的另一个 nsf 中读取了应用程序链接列表,以便我可以添加/删除链接而无需重新构建 osgi 插件.该列表被读入内存并存储在单例中以供重用,因此我不会在每次加载页面时都访问配置数据库.

In my case I read in the list of app links from another nsf stored on the server so that I can add/remove links without having to rebuild the osgi plugin. The list is read in to memory and stored in a singleton for reuse so I'm not hitting the config database on every page load.

这种方法非常适合我们,并且已经使用了大约 4 年.

This method works great for us and has been in use for about 4 years now.

这篇关于为多个应用程序创建统一的应用程序布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆