cancel
Showing results for 
Search instead for 
Did you mean: 

Searching for a module in Alfresco for my research.

sphinks
Champ in-the-making
Champ in-the-making
Hello.

I`m coming to this forum with not usual topic. I`m a post-graduate student and I complete my research work that connected with Markovproductions. To complete my work I should show that my reseach can be applied to real project (of course it doesnt mean that this project will use it in real, just as possibility) and the project should be connected with management systems. So I start to look into Alfresco hoping to find suitable part in it. But source codes are very huge and I`am looking it throught not so fast as I think before. So I want to ask you for some help - may be someone can show me the part of code, what will be suitable for my research work. So I show what my work connected with.
Markov production is a expression like:

ab - > cd

When it work over the string it replace all occurences of 'ab' to 'cd'. That simple, as replaceAll in java. But there a difference: after every change we shoold to look word we working with from very begining. Why? I`ll show. Image we have a production:

ab -> bc

and we want to process word.

CHGaabTYU

Ok. what we will do: find first 'ab' and change it to 'bc' and get:

CHGabcTYU

As you can see we get one more 'ab' that wasn`t in first word. If we at this moment don`t go back to begining of word we will get word with 'ab' in it. But it`s wrong because Markov production should change ALL occurences of 'ab'. That`s why after every change production start its work from begin of word.
So my research give the opportunity to replace all ocurences in on pass making a special form of production, that in runtime can be modified to a form like this:

aab -> bbc (for the example above)

If we get new occurence we can in runtime generate ab -> bc, abb -> bbc, abbb -> bbbc and so on.

Of course in usual strings we don`t often get such combination with triple 'b' or any other letter. But we can think instead of letters in bytes or even bits in there we can get any combinations of '1' and '0'.

I take a llok in source code and find in utils encode converter. This is a good example of Markov production in our usual programms. We change codes of one letter in one encode to another encode. Something like this can be write in Markov production something like this:

byte(64) -> /u00AF (I take random codes, so don`t be confused with it) In this production we replace all ocurences of code '64' to its unicode analog. Any converter or translator is a good example of work Markov prodution, but in my case it`s not suitable, because in such cases we goes from one laguage (encode) to another. Different laguages in real life cann`t get mixed phrases in Markov production, usualy we have only symbols of this or another languages on left or right part of production, but not mixes. So for my research I search some string work in same laguage where I can apply my accelerations or some byte or bit works (all bytes 0-255 is also language, and all bits 0,1 - are also language).

So can anyone give a peace of advise what part of Alfresco code I should dive in?
5 REPLIES 5

mrogers
Star Contributor
Star Contributor
I can't think of any obvious uses for this. Smiley Indifferent

However if its going to be useful then it will probably be as a "content transformer" or possibly some sort of utility such as an encryption or byte stream compression.     I imagine that this may be useful for some image transformation,   but that's a wild guess :!:

Or for a rather contrived example how about a filter that replaces rude words with some sort of less rude word, but the generated word cannot be rude itself.    I'm sure you can contrive some regexps that would have unfortunate consequences, where your improved filter would give better results.

sphinks
Champ in-the-making
Champ in-the-making
I can't think of any obvious uses for this. Smiley Indifferent

However if its going to be useful then it will probably be as a "content transformer" or possibly some sort of utility such as an encryption or byte stream compression.     I imagine that this may be useful for some image transformation,   but that's a wild guess :!:

Or for a rather contrived example how about a filter that replaces rude words with some sort of less rude word, but the generated word cannot be rude itself.    I'm sure you can contrive some regexps that would have unfortunate consequences, where your improved filter would give better results.

First of all, I want to thank you for your atention for this topic. Also thanks, for some new ideas. About filter: I`m not sure that I exactly follow you. Can you give me an example?

Also I think that I can take some advantages on working with files on byte or bits level (so low level working) on disk or in memory. Looking some disk drivers and caches in source code, but can`t find anything suitable. May be you can give advise in this way, working with files? I suppose some kind of file optimization can be suitable, like ordering something inside file or something like this?
Of course I undestand that optimization always better perform on high level in objects and they write in file, but I can for example replace high level actions with another code, just for showing that this can be applied here.

Waiting for your answers, it`s very important for me, suppose I can`t manage with this alone.

sphinks
Champ in-the-making
Champ in-the-making
May be any other thoughts?

sphinks
Champ in-the-making
Champ in-the-making
Is there any image transformations in Alfresco? For example, documents loaded in system as images and with such documents performs some actions, as getting or replace  apart of document as images?

mrogers
Star Contributor
Star Contributor
Yes,   there's a transformation service that allows you to plug different transformers and a rendition service.

One common feature request is to "watermark" various documents.    Its commonly done with PDF documents,   but your stuff may be suited to watermarking Images.