Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Rapor klasörüne bir html içerik atarak oluşturulabilir. Özel kural, görüntü adı, ikon tanımlanacaksa yanına bir jSettings dosyası atılmalıdır. 

Html içerisinde  MakrolarıYerelleştirme yöntemlerini ve  özel sunucu tagleri (Kontrol) kullanabilirsiniz. 

Rapor içeriğine iletilen nesne tipini bilmenin ve buna göre raporu düzenlemeniz gerekmektedir. GEODI Pro ile oluşturacağınız raporlarda makro data nesnesi  GeodiEntry Array'dir. Mobidi Server Raporları için nesne MobidiEntry Array'dir.

Table of Contents

Sunucu tag (Kontrol) kullanımı

Html içeriğinde dcc:[Control]  isimli  tag tanımları kullanabilirsiniz. Bu html elementler sunucuda işlenerek istemciye  istediğiniz içeriği istediğiniz formatta iletmenizi sağlar. Kullanabileceğiniz tüm özel tagler için tıklayınız.

Array içeriğindeki her bir item'a ulaşmak için dcc:Repeater kullanılmalıdır.  Repeater data içeriğinde verilen koleksiyonu gezmenizi sağlar. data değeri verilmezse aktif veriyi gezmeye çalışır.  Repeater içerisinde data gezilen array elemanı olarak değişir. Repater dışındaki nesneye ulaşmak için context.Parent kullanılabilir. Repater "data" özelliği sadece makro ile çalıştığından = veya [= beklemezCan be created by copying an html content to the Report Folder . If a custom rule, image name, icon is to be defined, a jSettings file should be placed next to it.

You can use MacrosLocalization Methods and custom server tags (Control) in html.

You need to know the type of object passed to the report content and edit the report accordingly. In the reports you create with GEODI Pro, the macro data object is GeodiEntry Array. The object for Mobidi Server Reports is the MobidiEntry Array.

Table of Contents

Server tag (Control) usage

You can use dcc: [Control] tag definitions in html content. These html elements are rendered on the server, allowing you to deliver the content you want to the client in any format. Click here for all the special tags you can use.

Use dcc: Repeater to access each item in the Array. Repeater allows you to browse the given data collection. If data value is not given, it tries to browse the active data. The data in the repeater changes to the array element to be navigated. You can use context.Parent to reach the object outside the repater. As rhe repater "data" feature only works with the macro it does not expect any = or [= .

Code Block
languagexml
titleMyReport.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Dokümanlarınız</title>
	</head>
	<body>
		<ul>
			<dcc:repeater>       
	     		<li>[=d.OutputGeodiContent.DisplayName]</li>
			</dcc:repeater>
		</ul>
	</body>
</html>

Repater tag'i içerisinde Repater tarafından ismi bilinen panel nesneleri kullanılarak  hiç veri bulunmaması durumunda özel mesajlar verilebilir. If no data is found in the Repeater tag using panel objects known by Repeater, special messages can be given.


Code Block
languagexml
titleMyReport.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Dokümanlarınız</title>
	</head>
	<body>
		<dcc:repeater>       
			<dcc:panel name="empty">        
    	    	Hiç içerik bulunamadı.
		   </dcc:panel>     
			<dcc:panel name="header">        
    	    	<ul>
		   </dcc:panel>       
		   <dcc:panel name="body">        
				<li>[=d.OutputGeodiContent.DisplayName]</li>   
		   </dcc:panel>       
		   <dcc:panel name="footer">       
				 </ul>
	    	</dcc:panel>      
		</dcc:repeater>
	</body>
</html>

...

Use of nested control


Code Block
languagexml
titleMyReport.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Dokümanlarınız</title>
	</head>
	<body>
			<ul>
			<dcc:repeater>       
	     		<li>
					[=d.OutputGeodiContent.DisplayName] <br>
					Benzeyen Dokümanlar
					<ul>
						<dcc:repeater data='d.WS.Query.QueryForDocuments(d.WS.ToQuery("similar:(docid:"+(d.OutputGeodiContent.SystemContentID)+")"))'>       
							[=d.OutputGeodiContent.DisplayName] 
						</dcc:repeater>	
					</ul>
				</li>
			</dcc:repeater>
	</body>
</html>

...

Control visible

...

condition

Tüm dcc elementlerinde makro destekli All dcc elements have macro visible "visible" özelliği bulunur. Bu özellik yardımı içerek gösteriminde kural tanımlayabilirsiniz. Javascript üzerinde kural işlemenizden farklı olarak bu kurala uymayan element istemciye iletilmez. Olası açıkların önüne geçilmiş olurfeature. With this feature help you can define rules in the representation. Unlike you are processing rules on Javascript, elements that do not follow this rule are not passed to the client. Possible deficits are avoided.

Code Block
languagexml
titleMyReport.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>Dokümanlarınız</title>
	</head>
	<body>
		<ul>
			<dcc:repeater>       
	     		<li>[=d.OutputGeodiContent.DisplayName]</li>
				<dcc:panel visible='=c["geodi"].WsHasPermission("GEODI.WS.EDIT") && !string.IsNullOrEmpty(d.OutputGeodiContent.ScanError)'>
					<div>
						Bu projeyi düzenleyebilirsiniz. Bu içeriğe ait tarama hatası var : [=d.OutputGeodiContent.ScanError]
					</div>
				</dcc:panel>
				
			</dcc:repeater>
		</ul>
	</body>
</html>

Rapor dönüş tipi düzenleme

jSettings dosyası ile dönüş tipini değiştirebilirsiniz. Bu yolla Rapor linki ile servis sunabilir veya farklı formatlarda içerikler oluşturulup indirilebilmesini sağlayabilirsiniz. html yerine bir txt veya xmld dosyası indirilmesini sağlayabilirsiniz.

...

Editing report return type

You can change the return type with the jSettings file. In this way, you can serve with the Report link or you can create and download content in different formats. You can download a txt or xmld file instead of html.


With this example, the Report will be in  RSS format. By sharing the link of the report, RSS Service can be offered.

Code Block
languagejs
titleMyRSSReport.jSettings
{
    ID:"MyRSS",
	DisplayName:"[$.en:My RSS Report;tr:Benim RSS Raporum]",
	 IconName:"Layer/newspaper",
    __type: "Factory.ActionFactory:HTMLReporter",
	ActionTargets:"*",
	ConditionMacro:'c.HasPermission("DECE.SYSTEMMANAGER")',
	ForcedExtension:"xml"
	
}

...