Internship at DFKI within the RISE Program of DAAD

December 23, 2009 by rostanin

DAAD offers a new program for students exchange between english-speaking contries and Germany: see RISE.

We offer there a topic for an internship at DFKI: see here and will be happy to work with you for some weeks or months here at DFKI in Kaiserslautern.

Diploma thesis/Student’s job – InfoFlex

December 16, 2009 by rostanin

Another diploma thesis on Adobe Flex/AIR & LeCoOnt.

See description InfoFlex.

How to reanimate MS Outlook Journal

November 17, 2009 by rostanin

MS Outlook hides deeply a very nice feature, namely the Journal. The Journal allows you to keep track on your current desktop activities, e.g. working with e-mails or MS Office documents. One can enable this feature from Tools/Options/Journal Options (German: Extras/Optionen Journaloptionen) in MS Outlook by selecting contacts, activities and document types that have to be recorded.

The only problem is that this feature does not work in the default installation of MS Outlook, there is a hotfix for that.

http://support.microsoft.com/kb/956506/en-us.

See also:

http://www.techtalkz.com/microsoft-outlook/165383-journal-not-recording-office-2007-documents.html

Getting access to ServletContext from Axis2 services

October 22, 2009 by rostanin


import javax.servlet.ServletContext;

import org.apache.axis2.context.MessageContext;
import org.apache.axis2.transport.http.HTTPConstants;

public ServletContext getServletContext()
{
MessageContext mc = MessageContext.getCurrentMessageContext();

return (ServletContext) mc.getProperty(HTTPConstants.MC_HTTP_SERVLETCONTEXT);

}

Differences in Working with CustomTaskPanes in MSWord and in MS Powerpoint

August 11, 2009 by rostanin

It was a bad surprise. After spending some times on developing a MSWord plugin embedded into a CustomTaskPane that is created individually for each opened document, i found that the MS Powerpoint treats CustomTaskPane differently: namely it shares CustomTaskPanes among all the open document windows. In other words, if you create a CustomTaskPane for each presentation, you’ll get all of them shown simultaneously.

Actually I never noticed before that MSPowerpoint is an MDI application.

See also managingtaskpanesinmultipledocuments

I created a new blog dedicated to LeCoOnt

August 7, 2009 by rostanin

LeCoOnt on Touch & Write

August 7, 2009 by rostanin

Great work of DFKI guys, LeCoOnt on the Touch & Write (multitouch table)

Deceiving Flex, Axis2 or thyself: propagating exceptions from a webservice to a Flex/Flash client

April 23, 2009 by rostanin

Flex programming is sometimes a time consuming and will-testing thing. One example, seemingly a simplest thing, to handle an exception thrown by an Axis webservice on the Flex side. It would not work as Axis automatically specifies the status code 500 for the response containing faults whereas FlashPlayer can only handle responses with status 200.

What to do? There are different opinions, like don’t throw exception and use return objects containing fields for error details instead. I think it is the best solution if you start your project from scratch.

In my case, I had all webservices therefore using a servlet filter did quite a good job:

public class No500Filter implements Filter {

private FilterConfig conf = null;

public void destroy() {
}

public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
if(resp instanceof HttpServletResponse)
{
No500FilterResponseWrapper wrapper = new No500FilterResponseWrapper((HttpServletResponse)resp);
chain.doFilter(req, wrapper);
}
else
chain.doFilter(req, resp);
}

public void init(FilterConfig conf) throws ServletException {
this.conf = conf;
}

class No500FilterResponseWrapper extends HttpServletResponseWrapper
{
public No500FilterResponseWrapper(HttpServletResponse response) {
super(response);
}
@Override
public void setStatus(int statusCode) {
if (statusCode == 500) {
super.setStatus(200);
}
}
}
}

The confoguration in the web.xml looks like:

<filter>
<filter-name>No500Filter</filter-name>
<filter-class>de.dfki.lecoont.web.util.No500Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>No500Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

How about if you use external webservices that you can not change or rewrite with filter? I think it is a good question for Flex/Flash/FlashPlayer creators.

Scale Flash clip to 100% page size in Mozilla Firefox

April 22, 2009 by rostanin

You maybe know noticed that Flash clips perfectly shown by IE are displayed very small in Firefox. To avoid this, one can specify the following style in your html page header:

<style>
body { margin: 0px; overflow:hidden; width: 100%; height:100% }
html { margin: 0px; width: 100%; height:100% }
</style>

See also David Stiller’s blog for more information.

Marking local HTML file as downloaded from the internet

April 22, 2009 by rostanin

Many Web/Flash developers might have faced the following problem: local html file is regarded by the IE as belonging to the “My Computer” zone. It could be a problem if the page contains an AxtiveX component (e.g. flash) which is per default prohibited to be executed automatically. If you need to test/debug your flash clip repeatedly it becomes very annoying.

Under WindowsXP one could lower the security barrier for the “My Computer” security zone, although it is not shown per default in the Internet Settings/Security of the IE. One could get it visible by some registry tricks.

Unfortunately this would not work under Windows Vista (at least, not for me). What worked was setting my local HTML page as saved from the internet by specifying the:

<!– saved from url=(0014)about:internet –>

as the first line of the HTML page. Be carefull, this line has to be followed by Windows EOL and CR symbols.

This line makes the IE think that your page belongs to the Internet Zone.