confluence添加用户_玩转Confluence插件开发插件模块配置文件介绍(04)

上一章节我们介绍了测试模块的配置文件,这一章节我们介绍插件本身的配置文件,这个是我们部署插件真正用到的. 文件的位置位于项目主目录中的/src/main/resources目录中.

插件配置文件介绍

插件描述文件的根元素

<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">
atlassian-plugin>
属性名称描述
key用来标识插件模块.此属性是必须的,并且在插件中必须是唯一的,相当于插件的身份证号码.默认使用构建插件时填写的groupId和artifactId组成.
name插件的名称.用于在应用程序的菜单中显示.默认通过引用pom.xml文件的name来加载.(不应该在该值中使用单词 “plugin”“add-on” )

接下来是plugin-info元素

包含插件信息,父元素是,支持多个嵌套元素.

<plugin-info>
        <description>${project.description}description>
        <version>${project.version}version>
        <vendor name="${project.organization.name}" url="${project.organization.url}" />
        <param name="plugin-icon">images/pluginIcon.pngparam>
        <param name="plugin-logo">images/pluginLogo.pngparam>
plugin-info>
嵌套元素描述
description插件说明
version插件版本
vendor提供插件开发人员的信息
param插件参数(示例中的两个参数分别提供了插件图标的位置和插件logo的位置)

vendor元素

插件供应商.在插件管理中提供链接地址.父元素是.

属性名称描述
name提供开发人员的姓名或公司的名称
url提供一个网站地址

文件其余部分是组成插件的所有模块,首先来看下插件本身的.里面有resource元素和web-resource元素.

国际化资源配置

location填写的名称,代表必须有一个叫hello-world.properties的配置文件

<resource type="i18n" name="i18n" location="hello-world"/>

Web资源插件模块

该模块允许插件定义可下载的资源.如果插件中需要引用JavaScriptCSS文件,则需要依赖该模块,将Web资源添加到页面顶部.另外,也可以将指定的Web资源包含在应用程序的特定上下文中.

web资源模块的根元素web-resource

<web-resource key="hello-world-resources" name="hello-world Web Resources">
web-resource>
属性名称描述
key模块的唯一标识符,可以通过它使用模块中包含的资源
name模块的名称

依赖项

示例中的这个依赖项可以理解为增强版的jQuery,Atlassia在jQuery之上提供了一些其他功能

<dependency>com.atlassian.auiplugin:ajsdependency>

资源

代表该模块包含的静态资源

<resource type="download" name="hello-world.css" location="/css/hello-world.css"/>
<resource type="download" name="hello-world.js" location="/js/hello-world.js"/>
<resource type="download" name="images/" location="/images"/>
属性名称描述
typedownload代表可下载的资源类型,它使资源可以从特定的URL下载
name资源的名称,如果location参数指定的不是单个资源(例如图片存放目录),应该在名称后面加上“/”,对于CSS/ Javascript 资源,他们的名称必须具有适当的文件扩展名
location资源的位置,告诉插件在哪个位置可以找到资源

如果要在CSS中引用图片,使用基于图片定义的资源名称的相对路径,如该插件的imageshello-world.css

.my-class {
   background-image: url(images/mypicture.gif);
}

要引用Confluence中已经可用的图片,需要指定三个父级目录,如下所示

.my-class {
   background-image: url(../../../images/icons/confluence-logo.gif);
}

Web资源上下文

可以在Confluence中特定类型的页面上自动包含Web资源.默认是artifactId的名称,属于自定义上下文,相对应的还有一些Confluence自带的上下文

  1. 自定义上下文
<context>hello-worldcontext>
  1. Confluence自带上下文
上下文描述
atl.general除了管理页面之外的任意页面
main除了管理页面之外的任意页面
atl.admin管理页面,请谨慎使用,因为格式不正确的CSS或JavaScript可能会阻止访问该Confluence
admin管理页面,请谨慎使用,因为格式不正确的CSS或JavaScript可能会阻止访问该Confluence
atl.userprofile用户个人资料页面
atl.popup弹出窗口
dashboard仪表板
editor出现编辑的页面
editor-context页面编辑器内
macro-browser宏浏览器,在editor之后
page任何与页面相关的页面,例如查看,编辑,附件,信息;但不包括博客文章,空间或全局页面
preview在宏浏览器的预览窗格中
blogpost任何与博客相关的页面,例如查看,编辑,附件,信息;而不是页面,空间或全局页面
space任何与空间相关的页面

如果要将Web资源配置在空间和页面的上下文中可以如下配置

<web-resource key="hello-world-resources" name="hello-world Web Resources">
        <dependency>com.atlassian.auiplugin:ajsdependency>
        <resource type="download" name="hello-world.css" location="/css/hello-world.css"/>
        <resource type="download" name="hello-world.js" location="/js/hello-world.js"/>
        <resource type="download" name="images/" location="/images"/>
        <context>spacecontext> 
        <context>pagecontext>
web-resource>

引用Web资源

要将自定义Web资源包含在使用插件的页面中,请使用#requireResource Velocity

#requireResource("com.jenseny.atlassian.tutorial.hello-world:hello-world-resources")

内容格式为${atlassian.plugin.key}:${web-resource-key}

如果Confluence中添加了许多页面,这些页面都依赖一个Web资源,我们可以新建一个Web资源上下文,然后在Velocity中引入新的上下文,引入方法如下

#webResourceManager.requireResourcesForContext("hello-worlds")
以上就是关于插件配置文件的介绍,下一章节我们正式开始开发自定义插件,先以自定义Confluence主题为例.

c4215bd7e3ac820d47eb040e929349c0.png

e49ffc9469b7807f2443078791e21c19.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nodejs复制服务器文件,nodejs文件夹深层复制功能

nodejs文件夹深层复制功能发布时间&#xff1a;2020-10-16 16:35:07来源&#xff1a;脚本之家阅读&#xff1a;116作者&#xff1a;java_Android前段时间接到领导要求&#xff0c;运营那边会时不时的给我一些.html文件&#xff0c;让我呢把里面的某些东西给解析出来插入到数据库…

慧停车安装后显示服务器异常,智能停车场系统常见故障以及排除方法

原标题&#xff1a;智能停车场系统常见故障以及排除方法随着停车问题日益增多&#xff0c;很多住宅小区都基本安装了智能化的停车场系统&#xff0c;智能停车场系统一般由入口控制机、出口控制机、智能道闸、地感线圈、余位显示屏、图象识别设备、系统软件、管理工作站等组成。…

ios 自定义拍照页面_vivo X27只靠颜值和拍照吃饭?体验过后你也会被系统所折服...

说到vivo X27&#xff0c;相信很多小伙伴都会第一时间想到其帅气的颜值以及强悍的拍照&#xff01;的确&#xff0c;就颜值来说&#xff0c;vivo X27凭借着升降式摄像头、零界全面屏、不凸出的后置三摄以及孔雀纹理的确称的上是2019年的最美旗舰&#xff1b;而拍照就更不用说了…

consul 日志配置_Go语言微服务架构实战:第十一节 启动Consul

启动Consul安装配置好Consul以后&#xff0c;我们可以通过简单的命令启动consul。先来看最简单的启动方式&#xff1a;consul agent -dev在新终端中&#xff0c;执行如上操作。hongweiyulocalhost:~$ consul agent -dev > Starting Consul agent... > Consul agent runni…

chrome修改js数据怎么生效_chrome浏览器中 F12 功能的简单介绍

首先介绍Chrome开发者工具中&#xff0c;调试时使用最多的三个功能页面是&#xff1a;元素&#xff08;ELements&#xff09;、控制台&#xff08;Console&#xff09;、源代码&#xff08;Sources&#xff09;&#xff0c;此外还有网络&#xff08;Network&#xff09;等。元素…

python split函数 空格_Python随笔29:Python基础编程练习题23~24

注&#xff1a;本文所有代码均经过Python 3.7实际运行检验&#xff0c;保证其严谨性。Python编程Python基础练习题23&#xff1a;求三角形斜边上的高输入直角三角形两直角边a、b的值&#xff0c;输出斜边上的高&#xff0c;最后结果使用round(x, 2) 函数四舍五入保留2位小数。输…

docker run后台启动命令_Docker-第五部分:15个 Docker 命令

原文作者&#xff1a;Jeff Hale原文地址&#xff1a;https://towardsdatascience.com/15-docker-commands-you-should-know-970ea5203421翻译&#xff1a;付新圆在这篇文章中&#xff0c;我们将学习15个Dockers CLI命令。如果你还不了解Docker&#xff0c;请查看这个系列的其他…

ospf 环回口的路由条目_路由策略之重分发示例分析

重分发示例网络拓扑解析&#xff1a;如图&#xff0c;R1-R2运行OSPF10&#xff0c;通过各自F0/0口建立ospf邻居&#xff0c;R1上静态路由&#xff1a;ip route 192.168.11.0 255.255.255.0 13.1.1.2ip route 192.168.13.0 255.255.255.0 13.1.1.2然后在ospf10进程下&#xff0c…

我国常用的投影坐标系_我国常用坐标系和高程系详解

北京54坐标系(BJZ54)北京54坐标系为参心大地坐标系&#xff0c;大地上的一点可用经度L54、纬度M54和大地高H54定位&#xff0c;它是以克拉索夫斯基椭球为基础&#xff0c;经局部平差后产生的坐标系。新中国成立以后&#xff0c;我国大地测量进入了全面发展时期&#xff0c;再全…

miniconda3 安装numpy_OpenCV4在Ubuntu1810/1604安装

本文简要介绍OpenCV4在Ubuntu 1810上的安装。目前OpenCV最新的稳定版本是4.0.1&#xff0c;可以从官网下载并解压&#xff0c;也可以从github上获取最新源码进行安装安装依赖sudo apt-get install cmake build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg…

载winpcap4.1.1_最常用的11个电缆载流量数据表,建议收藏备用

《0.6/1KV聚氯乙烯绝缘电力电缆载流量》《1~3芯额定电压0.6/1kv-1.8/3kv电缆载流量表》《YJV、YJY、YJV22额定电压在6/6、6/10kv电缆载流量》《常见BVVB型、BLVVB型、RVVB型电线载流量》《常见BV线载流量》《矿物质绝缘电缆载流量表》载流量数据表&#xff0c;是我们在日常工作…

android 虚拟键盘改变单个按键颜色_这款机械键盘很特别!一亿次按键寿命还有高颜值...

电脑主机要上RGB&#xff0c;那外设自然不能落下&#xff0c;虽说没有60%性能加成&#xff0c;用炫酷的灯光点亮桌面的感觉也是不错的。德国老牌外设品牌——冰豹(ROCCAT)2018年发布了Vulcan系列机械键盘&#xff0c;凭借着独特的设计和AIMO智能灯效颇受玩家好评。现在&#xf…

C++设计模式 #6 桥模式(Bridge)

动机 由于某些类型的固有的实现逻辑&#xff0c;使得它们具有两个变化的维度&#xff0c;乃至多个变化的维度。 如何应对这种“多维度的变化”&#xff1f;如何利用面向对象技术来使得类型可以轻松地沿着两个乃至多个方向变化&#xff0c;而不引入额外的复杂度 举个栗子 我们…

c99什么意思_C语言中-是什么意思啊?

展开全部->是一个整体&#xff0c;它是用于指向结构体、C中的class等含有子数据的指针用e5a48de588b662616964757a686964616f31333366303130来取子数据。换种说法&#xff0c;如果我们在C语言中定义了一个结构体&#xff0c;然后申明一个指针指向这个结构体&#xff0c;那么…

mysql外键关联查询_MySQL外键约束和多表联查

一.创建外键#测试数据表# 教师表&#xff0c;主表CREATE TABLE teacher(id INT PRIMARY KEY AUTO_INCREMENT,name varchar(20),age INT)ENGINEInnoDB DEFAULT CHARSETUTF8;#测试数据&#xff1a;INSERT INTO teacher values(1,范冰冰,22),(2,周杰棍,30),(3,双杰伦,35),(4,梁朝伟…

mysql innodb id_MySQL InnoDB row_id边界溢出验证的方法步骤

背景跟同学聊到row_id一个边界问题&#xff0c;这里详细说明下。InnoDB表若没有定义主键&#xff0c;会使用系统的一个默认递增row_id (dict_sys->row_id)作为主键。每次插入一行加1&#xff0c;到达最大值循环复用。需要注意的是&#xff0c;虽然dict_sys->row_id 被定义…

mysql mysqld.sock_MySQL笔记-最简单的方法来解决找不到mysqld.sock文件的问题

首先&#xff0c;环境:ubuntu 14.04,采用apt-get的方式安装的&#xff0c;手动安装可能路径设置稍有区别。1、安装MySQL后&#xff0c;用命令行首次启动时发现找不到Mysqld.sock文件&#xff0c;提示&#xff1a;ERROR 2002 (HY000): Cant connect to local MySQL server throu…

plan explorer mysql_plan explorer支持oracle吗

展开全部1.SQL语句的执行62616964757a686964616fe58685e5aeb931333361326365计划使用EXPLAIN PLAN语句来确定Oracle数据库下指定SQL语句的执行计划&#xff0c;这个语句插入每一步执行计划的行描述到指定表中。你也可使用EXPLAIN PLAN语句作为SQL跟踪工具的一部分。EXPLAIN PLA…

python 列表转图结构_Python读取网络(图)边列表数据进而转化为邻接矩阵

import networkx as nxG nx.Graph()path ./edge_list.txtedge_list []node_set set() #集合的特性就是元素不会重复&#xff0c;互异的with open(path, r) as f:for line in f:cols line.strip().split( )y1int(cols[0])y2int(cols[1])node_set.add(y1)node_set.add(y2)ed…

r语言读写word_R语言:在word中插入ggplot

最近CRAN上新了一个叫eoffice的package&#xff0c;并且不时被各路大佬提起。这个包的功能刚好也符合我最近的需求&#xff0c;这次带各位先来试试水。包的官方介绍&#xff1a;1. Introduction​cran.r-project.org这次主要试试在word中用该包插入ggplot。既然要试&#xff0c…