Pazar, Ekim 29, 2006

3G Disappointment

3G ile ilgili yorum yapmadan evvel bilgi sahibi olmayanlar için wikipedia.org 'taki 3G tanımına bir göz atalım:

3G (or 3-G) is short for third-generation technology. It is used in the context of mobile phone standards. The services associated with 3G provide the ability to transfer simultaneously both voice data (a telephone call) and non-voice data (such as downloading information, exchanging email, and instant messaging). In marketing 3G services, video telephony has often been used as the killer application for 3G. 3G networks are not upgrades of 2G networks and do not operate on the same frequency spectrum; rather, entirely new networks need to be built and new frequencies need to be assigned to mobile operators.

3G kısaca şu an kullandığımız 900 ve 1800 Mhz'lerden yayın yapan 2G diye adlandırılan GSM standardından daha yüksek frekanslarda yayın yapan, daha hızlı data transferine imkan veren teknolojilere verilen genel addır. 3G'nin ortaya çıkmasının nedeni şu an kullandığımız 2G altyapısının ses üzerine kurulu olması nedeniyle yüksek hızlarda data transferine imkan vermemesi. Her ne kadar GSM operatörleri altyapılarını upgrade ederek 2.5G diye adlandırılan GPRS ve EDGE teknolojilerine geçseler de, bu teknolojilerin sunduğu "data hızı/maliyet" çok düşük kaldığı için kimseyi memnun etmedi.

İşte bu yüzden 2G teknolojilerini geliştirenler daha yüksek data hızı sağlayan 3G teknolojilerini geliştirdiler. Fakat data hızının arttığı oranda maliyetler de arttığı için 3G teknolojisi de son kullanıcının beklentisini karşılamaktan uzak kaldı. Bu yüzden bir sonraki blog'umda bahsedeceğim Wimax teknolojisi ön plana çıkmaya başladı. Türkiye'de GSM operatörlerinin çok istemesine rağmen halen 3G lisansları verilmiş değil. Ben şahsen devletin ilk defa bir konuda yavaş hareket ederek doğru karar verdiğine inanıyorum:

Önce 3G sonra Wimax lisansı

3G ile ilgili tartışmalara dikkat çeken Yıldırım, ''Bazıları (3G'de Türkiye geç kaldı, herkes başını aldı gitti) diyor. Böyle laflara benim karnım tok, gaza gelmeyiz. 3'üncü nesli alanların halini gördük. Ne kadar büyük hayal kırıklıkları yaşadıklarını gördük. Milyarlarca doları derleyip, toplayıp teslim ettiler, sonunda perişan oldular. Telekom sektöründe konuşulanları dinlediğiniz zaman kafayı yersiniz. Birinin dediği, öbürünün dediğini tutmuyor. Şu anda 3G frekans çalışmaları yapılıyor. Önce 3G frekans tahsisi, sonra da Wimax ile ilgili frekans tahsisi öngörüyoruz. Kimsenin kafası karışmasın. Bakanlık, ortaya koyduğu takvimi uyguluyor'' dedi.

Böylelikle dünyada diğer firmaların yaşadığı 3G hayal kırıklıklarına bakıp, yerel GSM operatörleri yeni teknolojilerin seçiminde daha dikkatli davranabilir. Aşağıda dünyada 3G'ye geçenlerin yaşadıkları ile ilgili bazı örnek haberler:

Vodafone Çek Cumhuriyetinde 3G'yi Durdurdu

Vodafone'un geçen yıl 3,5 milyar $ ödeyerek satın aldığı, Çek Cumhuriyetinin 3.büyük operatörü Oskar'da UMTS teknolojisi ile 3G servisi verme planlarının durdurulduğu bugün açıklandı.

Planların durdurulma nedeni, şirket tarafından maliyetlerin çok yüksek olması nedeniyle, müşterilerin ödeyemeyecekleri bir fiyata çıktığı şeklinde açıklandı. Ayrıca şirket şu anda UMTS networkünün geleceği, ya a ileride bir gün devreye alınıp alınmayacağı gibi konularla ilgili bilgi vermedi.

3G Lisansını Kaybeden LG, 109 M $'da Ceza Ödüyor

LG, 2001 yılında, 3G lisansını kazanmıştı. İhalede 1,2 milyar $ teklif vermiş ve bugüne kadar da 230 milyon $ ödeme yapmıştı. Ancak geçen sürede ortaya çıkacak hizmetin pahalı olacağının anlaşılması üzerine LG'nin yatırım yapmayı yavaşlattığı görüldüğü için düzenleyici kurum sözleşmesini iptal etti.

3G for mobile broadband? Think again

The principal problem with 3G and HSDPA is cost. Rates for 3G data services are high in most countries, making the technology ill-suited for heavy data access, with the exception of wealthy customers and some business users.

3G data plans are often cheaper in other countries, but these services are not intended for mass adoption. In Singapore, MobileOne offers unlimited access with a 3G data card for S$68 ($43) per month. That service is geared to business users, who are more willing to pay for premium services, rather than the average consumer.

If operators want to make cellular more competitive for data, they will have to rethink their business model. "The voice charging model works very well for voice, but translating that into the data world isn't necessarily going to be as successful," Owen said.

NTT DoCoMo profits fall on 3G subsidies

However despite revenue rising almost ¥10 billion during the period, the company saw operating expenses rise just over ¥51 billion due to increasing popularity of 3G services. NTT DoCoMo subsidizes the cost of each new handset sold and such subsidies on 3G handsets are greater than those on older second generation models.

Cumartesi, Ekim 28, 2006

Government and Open Source

Geçtiğimiz senelerde özellikle AB ülkerinin başını çektiği devlet dairelerinde açık kaynak kodlu yazılım kullanımına ağırlık verileceği haberlerini sıkça duymuştuk. Bu karar biraz da özellikle milyonlarca dolarlık lisans paralarının ödendiği Microsoft ürünlerine karşı alınmıştı.

O zaman kendi kendime "Özel firmalar geçemiyor açık kaynak kullanımına, devlet daireleri mi geçecek, hem de son kullanıcı ürünlerinde" demiştim.

Geçenlerde okuduğum 2 ayrı haberle o zamanki söylemin sadece bir blöf'ten ibaret olmadığı anlaşılıyor. Adamlar resmen devleti de açık kaynak koda geçirmeye kararlı, hem de son kullanıcıyla birlikte:

City Of Chicago Migrates To Red Hat Enterprise Linux

Red Hat announced the City of Chicago's successful migration to Red Hat Enterprise Linux for essential government programs, including the vehicle registration system, online job applications, restaurant inspections, ethics training and more. The City of Chicago migrated to Red Hat in order to reduce costs and improve support, performance and scalability. The city has already saved more than $250,000, and is reducing server hardware, maintenance and operating costs as a result of Oracle's certification and support infrastructure on Red Hat.

Munich mayor: Full speed ahead to open source

"It was no easy decision to migrate our computers to open source software," Strobl said Tuesday in speech at the Systems IT trade show in Munich. "But we're very happy with the results so far. I'm no technology freak but even I must admit how easy it's been to migrate to the new software."

Last month, Munich began replacing Windows and Office with Linux and OpenOffice.org software on around 14,000 desktops , a year later than planned and nearly three years since the city announced its move to open source.

"Between now and 2008, we plan to complete the migration and I don't see any reason why we shouldn't," said Wilhelm Hoegner, IT director at the City of Munich.

Although numerous other European cities are closely following the LiMux project, Hoegner is hesitant to estimate how many will ever take the leap and deploy open source on a large scale. "Politicians don't know enough about open source and are worried about making a mistake," he said. " Believe me, my head would have been on the block if things had backfired here."

Olay sadece Almanya ile sınırlı kalsa derim ki bunların peşinden başka giden olmaz ama Amerikalılar da bu yolda. Bence bu konuda da Türkiye trene en son binen olmamalı. Devlet yurt dışına milyonlarca dolar windows ve office lisans parası ödeyeceğine, yerli firmalara danışmanlık ücreti olarak versin bu paraları.

Diyeceksiniz ki yurt dışındaki kullanıcı daha eğitimli, Türkiye'deki kullanıcılara bırakın linux kullandırmayı windows zor kullandırıyoruz diyeceksiniz. Açık kaynak kod dünyası nerde bir ihtiyaç var ise oranın ihtiyacını hemen karşılıyor.

Belki duymuşsunuzdur http://www.turkix.org ve Armador OS 2006 gibi parlak genç Türk beyinlerinin geliştirdiği linux tabanlı, Windows XP'ye çok benzeyen, türkçe desteği olan open-source işletim sistemleri mevcut.

Demem o ki istenirse son kullanıcıya istediği açık kaynak kodu vermek mümkün, yeterki kelleyi koltuğa koyacak birilerini bulalım...


JFreeChart

Daha evvelki bir blogumda Jasper Reports'tan bahsetmiştim. Bugün de Jasper Reports'un da kullandığı, rapor harici uygulamalarda da kullanabileceğiniz bir tool'u sizinle paylaşmak istiyorum. Sizi bilmem ama ben Excel'i ilk kullanmaya başladığımda, hayran olduğum özelliklerinden biri de 5-10 saniyede hücreleri seçerek hazırladığımız grafiklerdi.

İşte JFreeChart da aynen Excel'deki grafik zenginliğini ve kolaylığını karşılamak amacıyla java dünyası için hazırlanmış süper bir open-source API. JFreeChart neredeyse Excel'in grafikleri kadar güzel ve 100'lerce çeşit grafik üretebiliyor. JFreeChart'ı ister JSP/Servlet içerisinde, isterseniz de stand-alone bir uygulama içerisinde rahatlıkla kullanabilirsiniz. Çıktıyı ister JPG, PNG, SVG isterseniz de swing componenti olarak alabiliyorsunuz. Sınıfında open-source dünyasında en çok kullanılan API.

JFreeChart is a free 100% Java chart library that makes it easy for developers to display professional quality charts in their applications. JFreeChart's extensive feature set includes:

  • a consistent and well-documented API, supporting a wide range of chart types;
  • a flexible design that is easy to extend, and targets both server-side and client-side applications;
  • support for many output types, including Swing components, image files (including PNG and JPEG), and vector graphics file formats (including PDF, EPS and SVG);
  • JFreeChart is "open source" or, more specifically, free software. It is distributed under the terms of the GNU Lesser General Public Licence (LGPL).

http://www.jfree.org/jfreechart/

JFreeChart 'ı uygulamaları içerisinde kullanmak isteyen arkadaşlara ufak bir hatırlatma yapmak istiyorum. Son kullanıcılar veya müşteriler ekranlarında bu tip görsel bileşenleri görmeyi çok sevdiklerinden, JFreeChart 'ı bir kere kullanmaya başladınız mı her ekranda grafik isteyeceklerinden emin olabilirsiniz. Bu yüzden son kullanıcıya ekranlarda grafik göstermenin zor olduğunu söyleyin ki sonradan başınız ağrımasın.

Bu arada JFreeChart 'ın her ne kadar kendisi bedava da olsa profesyonel dokümantasyonu paralı. Sonuçta arkadaşların da karnı doyması lazım :)

İyi geliştirmeler

Perşembe, Ekim 26, 2006

Jasper Reports & iReport

Yaklaşık 2 sene evvel geliştirdiğimiz java tabanlı bir uygulama için "report engine" ihtiyacı ortaya çıktığında yöneticilerimizin aklında yüksek fiyatlarına rağmen güzel bir lisanslı tool almak vardı. Bildiğiniz gibi yazılım dünyasında raporlama aracı yazmak her baba yiğidin harcı değil. Yazılmış olanlar da çok pahalı. Bu yüzden yazılım geliştiriciler, geliştirdikleri ürünlerine ait raporlama isteklerini müşterilerine ad-hoc raporlama araçları aldırarak çözdürürler. Böylelikle geliştirdikleri ürünün maliyeti artmaz.

Biz o zaman yine open-source sevgisiyle yıldızı yeni yeni yükselmeye başlayan daha 1.0 versiyonu bile çıkmamış olan JasperReports'u incelemeye aldık. Lisanslı ürünlere karşı en büyün avantajı, bedava olması, devamlı gelişiyor olması ve ayrıca iReports isminde ayrı bir design editor'unun olmasıydı. Lisanslı bir ürün alsaydık, kendi ürünümüzü her bir müşteriye sattığımızda ayrıca lisans parası ödeyecektik. Biraz da mecburiyetten üst yönetime Jasper'i kabul ettirdik. Tabii daha sonra ne kadar doğru bir karar verdiğimizi tüm Java dünyasıyla birlikte gördük.

JasperReports' a ve iReports 'a ait özelliklere bir göz atmadan evvel JasperReports 'un geliştiricisi Teodor Danciu'nun bu işe nasıl başladığını anlatan röportajından ufak bir kısma göz atalım:

Work on JasperReports began in June 2001. First I put on paper some initial requirements and then I started to figure out possible solutions to the various technical challenges ahead. In September 2001 I already had some core functionality in place and I registered the project at Sourceforge.net without releasing any files. But right away I started to receive messages from possible users that were interested in a product like the one I have described on Sourceforge.net and I adopted the Open Source strategy that says you have to "release early, release often".

The feedback received from the community boosted my interest in the project and soon my priorities were adapted to suit users' demand for new features. I plan to bring JasperReports to its next level of usability by adding interesting new features that will make it more appealing and useful to its users.

JasperReports ve iReports'un geliştiricileri daha sonra birleşerek JasperSoft isimli profesyonel bir şirket kurdular ve şu an Jasper Reports konusunda danışmanlık veriyorlar.

JasperReports'un aşağıda detaylı anlatılan özellikleri arasında bence en önemlileri şunlar:

  • iReports gibi Java Swing tabanlı çok yetenekli bir tasarım aracının bulunması
  • Raporun bir kere tasarlanması, çıktının ise dilediğiniz formatta, (pdf, xml, csv, txt, vs.) kodda veya tasarımda değişiklik yapmadan yapılabilmesi
  • Crosstab, sub-report gibi sadece lisanslı ürünlerde bulunan profesyonel özelliklerinin bulunması
  • Çok büyük bir topluluk desteği olması nedeniyle sürekli yeni pluginlerin geliştirilmesi (Çok güzel Eclipse pluginleri mevcut)
  • Hibernate gibi open-source araçlara desteğinin, ayrıca Spring gibi framework'lerin Jasper Reports'a desteğinin bulunması.
  • Raporların ister uygulamanız içine gömülü, isterseniz de ayrı bir raporlama sunucusunda çalışabiliyor olması.
  • Her bir rapor objesini baştan java nesnelerine çevirerek cache'lediği için yüksek performansla çalışması.
  • Tabii ki bir de Jasper Reports'un GNU Lesser GPL lisans modelini kullanıyor olması.

Eğer JasperReports hakkında kısa sürede ama özet bilgiye sahip olmak isterseniz aşağıdaki flash animasyona bir göz atın derim:

http://media.techtarget.com/audioCast/TSSCOM/jasperreports.html

Diğer bir kısa tutorial da :

http://www.ensode.net/jasperreports_intro.html

Detaylı bilgi için de JasperReports'un ve iReport'un resmi sitelerini inceleyebilirsiniz.

http://jasperforge.org/sf/projects/jasperreports

http://jasperforge.org/sf/projects/ireport

http://www.jaspersoft.com

Key Benefits
Lowest TCO
  • LGPL licensing allows free distribution
  • Low TCO enables reporting to be broadly distributed
Upgrade Path
  • Migrate to JasperDecisions report server
  • JasperDecisions runs JasperReports natively
Supported
  • Large active community
  • Sponsored by a company
  • Comprehensive support, consulting and training
Direct to Print
  • Pixel-perfect reports with no need for post-production editing
Key Features

Embeddable
  • Embeddable Java reporting library
  • Enables embedding in any host application
  • No external reporting server required
  • Plug in Java and Groovy code
Complex Reports
  • Sub-reports easily handle highly complex layouts
  • Pixel-perfect page-oriented output for web or print
  • Report output in PDF, XML, HTML, CSV, XLS, RTF, TXT
  • NEW: Now with crosstabs
Integrated Charting
  • Comprehensive set of chart types
Internationalized and Localizable
  • Multi-language Unicode and other native encodings
  • Dynamic text localization
  • Localized date, number, and currency formatting
Scalable
  • High performance report generation
  • No limit to report size
Extensible
  • Supplement built-in expressions with Java or Groovy
  • Plug in Java code and Groovy code
Easy to Use
  • iReport visual report designer
  • Other Eclipse- and Swing-based designers available
  • Built-in Swing viewer
  • Extensive code examples
Standards Based
  • Written in Java
  • Report definitions in XML
Flexible Data Access
  • Multiple data sources of multiple kinds in one report
  • Built-in support for JDBC, EJB, POJO, Hibernate, XML
  • Extensible to any data source

Salı, Ekim 24, 2006

Izpack (Java Based Installer)

Yaklaşık 4 sene evvel eski şirketimde benden güzel bir installer (mümkünse bedava) bulmamı istemişlerdi. Bu installer'ı kullanarak in-house olarak geliştirdiğimiz java tabanlı platform bağımsız framewok'u müşterilerimize daha rahat dağıtabilecektik. Framework platform bağımsız olduğu için installer da platform bağımsız olmalı, tüm işletim sistemlerinde çalışabilmeliydi. O zaman open-source ürünler yavaş yavaş artmaya başlamıştı ama henüz ticari firmalar open-source ürünlere pek şans tanımıyordu. O zamana kadar şirketimizde ticari anlamda kullandığımız ilk ciddi java tabanlı open-source ürün JBoss'tu.

Java'ya ve open-source dünyaya olan sevgimden dolayı google search yaparken bir Fransız lisans öğrencisi olan (şimdi doktorasını bitirmek üzere) Julien Ponge'un geliştirdiği ve open-source olarak dağıttığı Izpack'e denk geldik. Julien Ponge bu işe nasıl başladığını şöyle anlatmış:

IzPack was started in 2001 as a monolithic installers generation system. It had a good start and I was really surprised of getting a strong early support of individuals and companies. The same summer I decided to rewrite everything and make a modular IzPack as we now know.

Java ve xml tabanlı olması ve kolay konfigüre edilebilir olması nedeniyle tam aradığımız ürün olduğunu fark ettik. İşte Izpack'in göze çarpan özellikleri:

Main features
  • XML-based installer descriptors
  • Uses the maximum Jar archives compression level
  • Apache Ant integration (Kurulum sonrası ant ile kod derlemesi yaptırabiliyorsunuz)
  • Great flexibility and modularity, it is very easy to extend IzPack
  • No native code is required, but you can extend IzPack with native code
  • Shortcuts creation system (Win32 and FreeDesktop.org)
  • Flexible and powerful user input panel
  • Automatic uninstaller creation
  • Easy localization with XML langpacks: 16 langpacks (Türkçe dahil) are provided by default
  • Variable substitution system
  • OS-specific scripts interaction
  • ... and many more!

Aranızda Izpack bizim nerde işimize yarayacak diye soranlarınız olabilir. Biz daha evvel 2 farklı iş için Izpack'i bol bol kullandık:


1) Müşterilerinize ürünlerinizi dağıtmak için. Uygulamanızda özellikle kurulum sırasında tanımlanan IP, port, database url, vs. gibi değişkenlerden bol var ise ve bu değerleri birden çok konfigürasyon dosyasına tanımlamanız gerekiyorsa. Hele bir de kurulum sonrası bu konfigürasyon dosyalarını jar, war veya ear içine tekrar koymanız gerekiyorsa.

Biz genelde İç Müşteriye ürün veriyoruz zip dosyası şeklinde ne gerek var installer hazırlamaya diyeilirsiniz. İç müşteri de, dış müşteri gibi ilgiyi hak ediyor. Manuel kurulumlarda (test veya production) bir konfigürasyonun parametresinin değiştirilmesinin unutulduğu eminim çok olmuştur. Halbuki kurulum sırasında tüm parametrelerin listelendiği bir ekranın bulunması bu tip hataları minimuma indirir.

2) Developer ortamlarını hazırlamak için. Developer'lar aynı anda birden fazla uygulama geliştirebiliyor. Her bir uygulamanın kullandığı ayrı eclipse pluginleri, jar dosyaları, classpath tanımları, uygulama sunucusu dosyaları ve tanımları (datasource, applications) vs. vs. olabiliyor. Genelde yeni bir developer işe başladığında veya eski bir developer bilgisayarına format attığında local development ortamlarını kısa sürede ayağa kaldırmak büyük dert olabilir. Bunun için developerlar genelde diğer bir arkadaşının dosyalarını aynen kendi local'ine kopyalar, tabii bu da temiz bir kurulum olmaz.

Ant kullanarak developer ortamlarının Izpack kurulum dosyalarını düzenli ve otomatik olarak hazırlayabilirsiniz.

Detaylı bilgiyi Izpack'in sitesinden bulabilirsiniz : http://www.izforge.com/izpack/

Cumartesi, Ekim 21, 2006

Fare Kapanı


Bayramın yaklaşması nedeniyle bizim oğlanı (Efe) sevindirelim dedik ve istediği bir oyuncağı almasına izin verdik bugün. Ben ufakken ailecek oynanan kutu oyunlarını çok severdim. O zamanlar bu tip oyunlar çok pahalıydı. En sevdiğim oyunlar Monopol, Milyoner ve Gizli Hedef'di.

Bizim oğlan henüz 5 yaşında olduğu için bu tip oyunları oynayamıyor, onun yerine okul öncesi çocukların oynayabildiği aile oyunlarını tercih ediyoruz. İşte bugün Efe Fare Kapanı isminde süper bir oyun seçti. Oynaması o kadar zevkli ki tekrar tekrar oynadık. Efe'nin başka hiç bir oyuncağından bu kadar zevk aldığımı hatırlamıyorum.

Oyunun detaylarını anlatmayacağım süpriz olması için. Yalnız oyunu kim tasarladıysa müthiş yaratıcı bir fikir bulmuş. Maalesef günümüzde orijinal fikir üreten insan sayısı o kadar az ki. Bu tip beyinlere denk geldiğimde şapka çıkartasım geliyor.

Eğer birilerine veya ailenize hediye almak isterseniz
Fare Kapanı 'nı seçin derim. Her ne kadar kutunun üzerinde 6 yaş ve üzeri dese de bu oyunu oynamak için bir ufaklığa ihtiyacınız yok. İçinizdeki çocuk size yetecektir.

İyi Bayramlar...


Cuma, Ekim 20, 2006

Migrating Struts Apps to Struts 2

Hepinizin bildiği gibi Struts uzun yıllardır java dünyasında web uygulamaları geliştirenler için artık standard bir framework oldu. Lakin Struts'ın ilk temellerinin atıldığı yıllardaki (2001) beklentiler ile günümüzdeki beklentiler aynı olmayınca Struts'un eksiklerini diğer web frameworkler (WebWork, Tapestry, Spring MVC, JSF, vs.) doldurmaya çalıştı. (Matt Raible'nin java web framework'lerini karşılaştıran çok meşhur bir sunumu mevcut : https://equinox.dev.java.net/framework-comparison/WebFrameworks.pdf

Fakat developer'lar ve firmalar Struts'a o kadar alıştı ki daha güçlü yanları olmasına rağmen diğer web framework'lere geçiş yapamadılar. Bunun üzerine WebWork ve Struts 2005 yılında framework'lerini birleştirme kararı aldılar ve bu yeni framework'ü de Struts 2.0 olarak isimlendirdiler. Aşağıda alıntı yaptığım ve linkini verdiğim 2 makale Struts'dan Struts 2'ye geçişin nasıl yapılabileceğini örnekler ile anlatmış.

http://www.infoq.com/articles/converting-struts-2-part1
http://www.infoq.com/articles/migrating-struts-2-part2

Çarşamba, Ekim 11, 2006

XWiki

Eğer open-source ve güzel bir wiki engine arıyorsanız kesinlikle XWiki' yi tavsiye ederim. Open-source wiki engine'lar en popüler olan XWiki bir sürü güzel özellik sunuyor. Aşağıdaki listelenen özellikler arasında benim için en önemlilerini kırmızı ile vurguladım. İşyerinde de kurup, kullanmaya başladığımız XWiki java tabanlı olması nedeniyle çok rahat kurulup, çalışır hale getirilebiliyor.

Objectweb topluluğunun bir ürünü olmas
ı nedeniyle devamlı gelişiyor. http://www.xwiki.org adresini ziyaret ederek XWiki'yi bizzat test edebilirsiniz.

XWiki is a Wiki Wiki clone written in Java which supports many popular features of other Wikis like:
  • Wiki syntax (uses Radeox engine)
  • Content management (view/edit/preview/save)
  • Version Control
  • Attachments
  • Rights Management
  • Full-text Search
XWiki also has many advanced features that many other wiki engines lack:
  • Document Templates to ease creation of common documents.
  • Relational Database storage using Hibernate.
  • Design Engine for Meta-Data and Forms.
  • In-place (inline) editing of form information in pages.
  • Powerful programming API in documents (Velocity or Groovy)
  • Search API for more detailed searching in the Meta-Data.
  • Plugin System in Java.
  • Scalability and Performance using J2EE.
  • Complete Design Skin System (templates content as well as CSS) have a look to nice websites powered by XWiki
  • RSS output and display of external RSS feeds
  • Multi-Lingual capabilities
  • XML/RPC Remote API
  • Portlet Integration
  • Integrated Statistics
  • PDF Export
  • WYSIWYG HTML Editing