25 ноември 2007

Template-и в RDsuite

Скоро не съм писал неща за RDsuite и като се има предвид, че последната версия е от началото на годината, то сигурно доста хора са си помислили, че проектът е в застой. Сега е моментът да разсея тези опасения и да кажа, че около Коледа ще излезе следващата версия. Едно от новите неща в нея ще бъде използването на template-и. От гледна точка на функционирането на програмата това не носи нещо ново, но пък ще дава възможност да не се започва с празна база данни, което ще е доста полезно за доста потребители, на които не им се разучават детайлите около аналитичността на сметките или потребителските справки.

От техническа гледна точка template-тът е набор от widget-и, чрез които потребителят въвежда някакви входни стойности. Някои стойности може да са задължителни, а други да се въвеждат при желание. Към всеки widget е закачен набор от sql команди и ако потребителят е решил да въвежда някакви стойности през него, то съответните команди се изпълняват. Принципно командите може да са произволни, но към момента се предполага, че това са select заявки, които връщат резултат един ред с една колона. Това не е кой знае какво ограничение като се има предвид, че записът на данни в базата минава през stored procedures (които в моя случай са функции). От друга страна това ограничение е важно, за да може резултатът от една заявка да се ползва в друга заявка, която не е необходимо да бъде от същия widget. В момента widget-ите, които се поддържат са Label (който ако е пожелателен става CheckBox) и LineEdit. При необходимост този набор ще се увеличи. Иначе цялото описание на template-та се съхранява в xml файл, така че лесно се редактира през текстов редактор. На който му се експериментира да хване последния код от svn хранилището.

От организационна гледна точка имам няколко чуденки. Към момента цялото описание на template-тите се съхранява в отделен файл и не знам дали не е по-добре да ги сложа към файла, който описва структурата на съответната схема. Това от своя страна ще наложи преместване на кода от администраторската част към общата библиотека. Освен това в момента има дублиране на код относно изпълнението на sql команди, което трябва да видя как да разчистя. Нямам още яснота какъв вид ще добият нещата, когато се почне поддържане на няколко различни вида sql сървъра. Ужким това е планирано в проекта, но може да се получат няколко проблематични области. И не на последно място може би трябва да довърша редактора за структурата на отделните схеми, към него и да сложа template-тите и да го commit-на в svn-а. Едно такова упражнение хем ще изчисти всичките въпроси относно как да се организират нещата около достъпа до базата данни, хем ще може по-лесно да се редактират отделните файлове. От гледна точка на крайният потребител на проекта обаче едва ли ще донесе някаква полза.

По отношение на счетоводната програма остава да видя все пак какво да има в съответния template. Така или иначе едва ли има универсален сметкоплан, така че трябва да измисля някакво приближение, от което всеки потребител с минимални усилия да промени нещата към нещо по-удобно за него. Всякакви предложения са добре дошли.

Няма коментари: