16.02 - 13. září 2008 |
ASP.NET 2.0
Projekty, které se rozhodnu vypustit ven, většinou hostuju na CodePlexu. Jeho UI mi přijde mnohem
rychlejší než konkurenční SourceForge a přehlednější než Google Code. Nevadí mi, že za tímto
hostingem stojí velký zlý Microsoft, naopak to vítám. Tento projekt byl
jedním z prvních krůčků na podporu OpenSource ze strany Microsoftu a
navíc je místem, kde samotný Microsoft uveřejňuje spoustu zajímavých
projektů. Například budoucí části
ASP.NET.
Ale zpět k tématu. Tento hosting je postaven na Team Foundation
Serveru (TFS), který je centrem pro týmovou práci, verzovacím systémem
a v neposlední řadě i systémem pro vedení požadavků a úkolů. Tím se
odlišuje od konkurence, která většinou používá tradiční SVN, což je po
léta de-facto standard pro verzování OpenSource projektů. Komunita dlouho
volala po tom, že chtějí SVN i CodePlexu. V MS nakonec udělali
kompromis.
SVN Bridge
SVN Bridge byl první krok.
Je to taková malá utilitka, kterou si spustíte na vašem počítači a ona
překládá vaše SVN požadavky do řeči, které rozumí TFS. Můžete s ní
pak používat oblíbené nástroje jako TortoiseSVN nebo VisualSVN. Ale pořád je tu nutnost
donahrát si utilitu a ani URL repository ve tvaru
http://localhost:8081/<tfs.server.name>/<projectname>
nejsou nějak úchvatná.
Tento měsíc však došlo k zásadní změně. Na Codeplexu byl nasazen
serverový SVN bridge, takže už nemusím pouštět lokální verzi, ale rovnou
můžu pro snadný přístup přes SVN nástroje používat adresy
následující:
- pro NForms
https://nforms.svn.codeplex.com/svn
- pro Texy.net
https://texynet.svn.codeplex.com/svn
No a vy také ;)
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!
14.05 - 2. října 2007 |
Webdesign
Chtěl bych začít pracovat na parseru Texy napsaném v C#. Než s tím
začnu chci se zeptat, jestli to vůbec má cenu, má někdo o něco takového
zájem? Samozřejmě to bude open source hostovaný na CodePlexu, kdy je source control a
issue tracker. Pokud bude zájem o dotnetí parser Texy, bude mít někdo
zájem na projektu spolupracovat? Vyzkoušet si práci v týmu, agilní vývoj
na otevřeném projektu. Pokud máte zájem, dejte o sobě vědět buďto
v komentářích nebo na můj mejl.
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!
21.11 - 24. května 2007 |
ASP.NET 2.0
Dneska jsem vypustil Texy.net na
CodePlex. Vypublikoval jsem první Wiki stránky uploadoval RC1
a RC2
verzi a experimentální PhalangerProvider. Vloženy jsou i zdrojáky.
K RTM verzi zbývá již jen dopsat dokumentaci, najít a opravit bugy.
Pokud mátě někdo zájem se do projektu zapojit, dveře jsou
otevřené.
Co je v plánu po 1.0 RTM
PhalangerProvider nebo IronPythonProvider nebo IronRubyProvider, který bude
plně použitelný se současným API Texy.net. Nejde o nic jiného než
využít kompilátorů pro dynamické jazyky do kterých už byla nebo bude
Texy! portována. Zajímavé je, že byl uvolněn Texier což je Texy na Ruby, ale
IronRuby je ještě neuvolněná. Naproti tomu je venku IronPython skoro ve
verzi 2.0, ale žirafka jeste svoji PyTexy
neuvolnila (: No a nakonec Phalanger. Vněm se Texy zkompilovat podařilo, ale
furt se mi to nějak nezdá. Tomášova verze mi
neumožňuje konfigurovat moduly, což je dost zásadní věc…
No a pak, nebo mezi tím, konečně něco jako to, čemu předběžně
říkám Texy# :)
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!
09.06 - 5. května 2007 |
ASP.NET 2.0
Není tajemstvím, že pracuju na Texy.net, což je komponenta, která
umožňuje používat Texy! i na platformě
.net. Tento článek by měl poodhalit jak bude vypadat příští verze, na
které momentálně pracuji.
- Změna namespace z
Rarous.Texy na Rarous.TexyNet.
Důvodů mám hned několik. Zapré to lépe reflektuje název produktu,
zadruhé bude smysluplnější kód při volání hlavní třídy
Rarous.TexyNet.Texy než ten dosavadní v RC1
Rarous.Texy.Texy.
Logo :) Logo Texy.net vychází z nového ještě více sexy loga Texy2.
- Vlastní stránky poběží na adrese www.gryphoon.net/texy/, protože
Texy.net je nedílnou součástí Gryphoonu. Pravděpodobně poběží
i wiki.
- Deklarativní konfigurace zůstane zachována a pravděpodobně bude ještě
rozšířena o nové možnosti.
- Texy.net už nebude jen XML-RPC wrapper, ale pomocí provider modelu bude
jednotným API pro několik možných poskytovatelů Texy! v dotnetu. Na tuto
myšlenku mě navedl Tomáš Petříček se
svým pokusem zkompilovat Texy!
ve Phalangeru. Díky Texy.net a PhalangerProvideru bude použití Texy!
více dotnetovské a sexy :) Další provider bude pro Texy-WS přes SOAP apod. Každý
si bude moci vybrat, co mu více vyhovuje.
- Rád bych dotáhl dokumentaci do kvalitnější formy, jen ještě nevím
zda ji celou ponechat v MSDN like stylu nebo na wiki.
- Dá-li DGX, bude nová verze používat
Texy2, přinejmenším v XML-RPC.
Související
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!
22.40 - 30. listopadu 2006 |
Webdesign
Po delší odmlce přicházím opět s dotnetovou implementací Texy!
XML-RPC klienta. Přesto, že jsem nedostal žádnou odezvu, jsem odchytal
pár bugů z předešlé verze, ale hlavně došlo k rozšíření o podporu
deklarativní konfigurace.
Dosud se musela Texy.net konfigurovat pokaždé zvlášť v kódu ve kterém
byla volána. Nová verze přináší možnost konfigurace pomocí vlastní
sekce ve web.config souboru. Vytvořil jsem jak vlastní handler
pro načítání konfigurace, tak i schéma
pro snadnější editaci konfigurace. Schéma si zkopírujte do adresáře
C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas\Custom\ a do
souboru C:\Program Files\Microsoft Visual Studio
8\Xml\Schemas\DotNetConfig.xsd přidejte následující kód:
<xs:include schemaLocation="Custom/GryphoonConfig.xsd"
/>.
Ukázka použití
web.config
<?xml version="1.0" ?>
<configuration>
<configSections>
<section name="rarous.texy"
type="Rarous.Texy.Configuration.ConfigSectionHandler, Rarous.Texy"
allowLocation="true" allowDefinition="Everywhere" />
</configSections>
<rarous.texy>
<formatterModule indent="false" lineWrap="255" />
<headingModule top="2" />
</rarous.texy>
...
</configuration>
Ukázka výše má za následek, že výstupní kód nebude odsazován a bude
zalamován po 255 znacích. Dále je nastaven nadpis h2 jako
nejvyšší možný. Následuje obligátní ukázka požití v kódu.
string input = "nějaký text.";
Rarous.Texy.Configuration.ConfigSectionHandler handler =
(Rarous.Texy.Configuration.ConfigSectionHandler)
ConfigurationManager.GetSection("rarous.texy");
Rarous.Texy.Texy texy = new Rarous.Texy.Texy(input, handler);
string output = texy.ToXhtml(true);
Tímto však možnosti nekončí. Já například zmiňovaný handler
používám v připravovaném redakčním systému Gryphoon2 pro konfiguraci
pro články a pro komentáře. TexyProcessor se pak stará o načítání
konfigurace pro aktuální potřebu.
No a protože tohle není úplně nejjednodušší ukázka kódu, máme tu
ještě takové usnadnění :) Nejjednodušší možnost použití Texy
tedy je:
string html = Rarous.Texy.Texy.Process("Hello World!");
Doufám, že alespoň někomu to pomůže k snadnějšímu používání
Texy! na dotnetu. Závěrem bych vás chtěl poprosit, pokud najdete nějakou
chybku, neváhejte a sdělte mi ji, ať už v komentářích, nebo na e-mail. Za každý feedback budu
rád. :)
Ke stažení
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!
15.30 - 19. června 2006 |
ASP.NET 2.0
Update
Beta 2 respektuje změny v rozhranní Texy! XML-RPC a již plně podporuje
definování povolených classů, stylů a tagů. Zatím nevyřešenou věcí je
komprese přenášeného textu. Verze beta 1 již není funkční a je
nutné jí nahradit betou 2!
Ke stažení
Konečně jsem dopsal knihovnu, která zpřístupňuje Texy! pro dotnet 2.0 aplikace. Knihovna
interně využívá Texy! XML-RPC
za pomocí knihovny XML-RPC.net.
Implementováno je skoro vše, krom GZip komprimace přenosu (v příští
verzi přibude možnost přenos komprimovat) a ještě není plně
funkční definování povolených classů, stylů a tagů – konkrétní
implementaci musím ještě probrat s DGX :)
Ukázka použití
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ukázka Texy.net</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="Input" runat="server" TextMode="multiline"></asp:TextBox>
<br /><asp:Button ID="SubmitButton" runat="server" OnClick="SubmitButton_Click" Text="Převést" />
<asp:Literal ID="Output" runat="server"></asp:Literal>
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using PBSoftware.Gryphoon.TexyRpc;
public partial class _Default : System.Web.UI.Page
{
protected void SubmitButton_Click(object sender, EventArgs e)
{
Texy texy = new Texy(Input.Text);
bool useConfiguration = true;
texy.Configuration.HeadingModule.Top = 3;
Output.Text = texy.ToXhtml(useConfiguration);
}
}
Ukázková stránka obsahuje tlačítko SubmitButton po jehož
stisknutí dojde k převedení obdahu TextBoxu Input pomocí Texy!
a výsledek je vypsám pomocí Literalu Output.
Knihovnu uvolňuji k volnému použití pod Creative
Commons licencí. Případné připomínky zanechte v komentářích.
:) V balíčku je i dokumentace.
Autor: Aleš Roubíček |
|
Delicious |
FriendFeed |
Facebook |
Linkuj!