Open Dental Localization and Calendar
Open Dental Localization and Calendar
Hi
I've been evaluating the use of Open Dental for its localization options.
As far as a test showed with the trial version, I could translate the interface into Farsi/Persian seamlessly with the exception of some right-to-left display glitches; however, the main issue remaining the calendar.
In order to use open dental in Iran, we have to be using the official Iranian calendar. More info at http://en.wikipedia.org/wiki/Solar_Hijri_calendar
Any thoughts? Such implementation is available as extentions to open source software e.g some CMS like drupal.
I've been evaluating the use of Open Dental for its localization options.
As far as a test showed with the trial version, I could translate the interface into Farsi/Persian seamlessly with the exception of some right-to-left display glitches; however, the main issue remaining the calendar.
In order to use open dental in Iran, we have to be using the official Iranian calendar. More info at http://en.wikipedia.org/wiki/Solar_Hijri_calendar
Any thoughts? Such implementation is available as extentions to open source software e.g some CMS like drupal.
Sina
Re: Open Dental Localization and Calendar
What are your region and language settings in Windows? Open Dental pulls those settings to display the calendar. We don't have a 'built in' calendar, instead we borrow the operating system's.
Entropy isn't what it used to be...
Arna Meyer
Arna Meyer
Re: Open Dental Localization and Calendar
Thank you Arna for the clarification.
Unfortunately, not a single release of Mircrosoft Windows has had a native Iranian (Jalali) calendar so far (2014, Windows 8 being the latest release). All you get by changing the region and language settings in Windows is a transliterated set of the Gregorian calendar month names. This is not at all practical for the daily use in Iran, especially when interacting with ordinary people, like in a dental office.
I have seen and tested a forked trial version of open dental in Farsi language with a customized Iranian calendar. That release is allegedly based on a 12.3 version of open dental and delivers poor translation, and a non-optimized interface. I'm guessing the calendar must have been separately coded and added as a layer over all dates to be converted.
AFAIK, all date and time stamps are stored the same for all calendar types in the database. I'm wondering if these values are to be interpreted and shown for a specific calendar like this case, there must be a conversion layer everywhere from log reports to when inserting a specific date anywhere in the software.
Can you please determine what would be the nature of this feature in open dental (like a plug-in, etc.), and how should it be implemented without forking the project?
Looking forward to clues to a solution,
Cheers
Unfortunately, not a single release of Mircrosoft Windows has had a native Iranian (Jalali) calendar so far (2014, Windows 8 being the latest release). All you get by changing the region and language settings in Windows is a transliterated set of the Gregorian calendar month names. This is not at all practical for the daily use in Iran, especially when interacting with ordinary people, like in a dental office.
I have seen and tested a forked trial version of open dental in Farsi language with a customized Iranian calendar. That release is allegedly based on a 12.3 version of open dental and delivers poor translation, and a non-optimized interface. I'm guessing the calendar must have been separately coded and added as a layer over all dates to be converted.
AFAIK, all date and time stamps are stored the same for all calendar types in the database. I'm wondering if these values are to be interpreted and shown for a specific calendar like this case, there must be a conversion layer everywhere from log reports to when inserting a specific date anywhere in the software.
Can you please determine what would be the nature of this feature in open dental (like a plug-in, etc.), and how should it be implemented without forking the project?
Looking forward to clues to a solution,
Cheers
Sina
Re: Open Dental Localization and Calendar
Given the nature and complexity of your question, I'm going to recommend that you ask over in the advanced section. I don't have the skill but my guess is that you would use a plugin to make it happen. Plugin hook requests can be made in the developers forum.
Re: Open Dental Localization and Calendar
Thank you for your input.
Moderators may want to move this topic to any forum that suits.
I still need some programmer insight on this. I think this won't be too complex to accomplish.
Cheers,
Moderators may want to move this topic to any forum that suits.
I still need some programmer insight on this. I think this won't be too complex to accomplish.
Cheers,
Sina
Re: Open Dental Localization and Calendar
I'm lazy and I'm just going to leave the thread here. It absolutely started off as a thread that belongs on the main forum but took a sharp turn into advance land when the claim that Windows doesn't support the native Iranian (Jalali) calendar came into play.
(mind blown)
I don't have time to look into the issue(s) as of right now. One being to look verify why the C# (.NET or Windows if you will) calendar doesn't support all regions and languages and the other (advanced part) being if it's possible and what amount of effort it would take to replace or enhance the current calendar control that we are using.
nwdentist, I'm probably one of the few people on this forum that can answer these questions and so you'll have to bear with me until I can find some time to answer them. This has been a very chaotic week for me to say the least and I'm still brushing off the ashes from the fires I've been putting out.

I don't have time to look into the issue(s) as of right now. One being to look verify why the C# (.NET or Windows if you will) calendar doesn't support all regions and languages and the other (advanced part) being if it's possible and what amount of effort it would take to replace or enhance the current calendar control that we are using.
nwdentist, I'm probably one of the few people on this forum that can answer these questions and so you'll have to bear with me until I can find some time to answer them. This has been a very chaotic week for me to say the least and I'm still brushing off the ashes from the fires I've been putting out.
The best thing about a boolean is even if you are wrong, you are only off by a bit.
Jason Salmon
Open Dental Software
http://www.opendental.com
Jason Salmon
Open Dental Software
http://www.opendental.com
Re: Open Dental Localization and Calendar
I'm very shocked to see Microsoft say something like this in their msdn:
http://msdn.microsoft.com/en-us/library ... 10%29.aspx
We're very busy right now and this is definitly a feature request that we wouldn't work on to integrate within Open Dental for quite a while (we try to work on things that impact the most people first) so you are right to persue the path of a plugin or other alternative measure. However, you are always more than welcome to add this as a feature request OR if you can promote it enough and get enough evidence proving that there is a massive Iranian Open Dental fan club we might be able to do something about this calendar issue. It's just very hard to find the urge to reinvent the wheel if you will. Microsofts calendar control is pretty robust and we haven't needed to change much of anything about it so to all of a sudden rewrite it from scratch is sort of going against my whole "if it aint broke don't fix it" mentality.
If I were to make this a plugin, I'd approach it in one of two ways:
1. Get cute with converting the current calendar and just get used to it being a pain to use visually but the desired results behind the scenes will still work.
-To do this, I would follow PluginExample.ContrChartP.FillPtInfo() which shows how you can hijack controls and make them do whatever you want them to:
2. The better (harder) way would be to hide or completely cover up our current calendar control with a custom one (much like you used with that forked version) but instead of forking the code, simply add your control to our control.
-To do this, I would follow PluginExample.ContrAccountP.InitializeOnStartup_end() which shows how to add your custom controls onto our controls:
http://opendental.com/manual/plugins.html
Also...
While I was surfing the interwebs I stumbled upon a guy who wrote a decent rendition of what the calendar should be like (sadly back in 2007) but if ever there was a starting place needed, I'd follow what he did (to an extent).
http://www.codeproject.com/Articles/136 ... rs-and-Dat
It seems that lots of people use the PersianCalendar class to calculate dates in the Persian calendar or convert Persian dates to and from Gregorian dates.Currently, the PersianCalendar class is not an optional calendar for any culture supported by the CultureInfo class and consequently cannot be a default calendar.
http://msdn.microsoft.com/en-us/library ... 10%29.aspx
We're very busy right now and this is definitly a feature request that we wouldn't work on to integrate within Open Dental for quite a while (we try to work on things that impact the most people first) so you are right to persue the path of a plugin or other alternative measure. However, you are always more than welcome to add this as a feature request OR if you can promote it enough and get enough evidence proving that there is a massive Iranian Open Dental fan club we might be able to do something about this calendar issue. It's just very hard to find the urge to reinvent the wheel if you will. Microsofts calendar control is pretty robust and we haven't needed to change much of anything about it so to all of a sudden rewrite it from scratch is sort of going against my whole "if it aint broke don't fix it" mentality.
If I were to make this a plugin, I'd approach it in one of two ways:
1. Get cute with converting the current calendar and just get used to it being a pain to use visually but the desired results behind the scenes will still work.
-To do this, I would follow PluginExample.ContrChartP.FillPtInfo() which shows how you can hijack controls and make them do whatever you want them to:
Code: Select all
//first, get all the objects we need. Because they are by ref, the original gets altered.
ODGrid gridPtInfo=(ODGrid)sender.Controls.Find("gridPtInfo",true)[0];
-To do this, I would follow PluginExample.ContrAccountP.InitializeOnStartup_end() which shows how to add your custom controls onto our controls:
Code: Select all
sender.Controls.Add(contrAccountP.panelInsInfoDetail);
Also...
While I was surfing the interwebs I stumbled upon a guy who wrote a decent rendition of what the calendar should be like (sadly back in 2007) but if ever there was a starting place needed, I'd follow what he did (to an extent).
http://www.codeproject.com/Articles/136 ... rs-and-Dat
The best thing about a boolean is even if you are wrong, you are only off by a bit.
Jason Salmon
Open Dental Software
http://www.opendental.com
Jason Salmon
Open Dental Software
http://www.opendental.com
Re: Open Dental Localization and Calendar
Jason, thanks a lot! Your elaboration was all that I wanted.
Now that we know where to start, it seems an awful lot easier to do this. I'm pretty sure there are many good Jalali calendar codes in c# already. I'll follow up with you on this later when we get our hands dirty.
Thanks everyone again. We're now more clear than ever on this.
Now that we know where to start, it seems an awful lot easier to do this. I'm pretty sure there are many good Jalali calendar codes in c# already. I'll follow up with you on this later when we get our hands dirty.
Thanks everyone again. We're now more clear than ever on this.
Sina
Re: Open Dental Localization and Calendar
Well, six months past the last post in this thread, while I was still weighing my options to pay a few grands to local software developers to take care of Iranian localization, guess what happened? People spoke, Microsoft heard!
News has it Persian calendar is finally finding its way to Microsoft Windows 10!
See: https://windows.uservoice.com/forums/26 ... to-windows
As you may already know, Microsoft is also rolling Windows 10 to Windows 7 and Windows 8 desktops, tablets, and smart phones free of charge for one year.
Now the question is "will open dental run under Windows 10?"
Looking forward to hearing some good news!
News has it Persian calendar is finally finding its way to Microsoft Windows 10!
See: https://windows.uservoice.com/forums/26 ... to-windows
As you may already know, Microsoft is also rolling Windows 10 to Windows 7 and Windows 8 desktops, tablets, and smart phones free of charge for one year.
Now the question is "will open dental run under Windows 10?"
Looking forward to hearing some good news!
Sina
Re: Open Dental Localization and Calendar
That is great news and I hope it comes through quickly for you.
Re: Open Dental Localization and Calendar
Thank you bpcomp.
My tests with Windows 10 and Open Dental were promising. However, there were glitches with the Persian Calendar. I posted a topic in the advanced forum (viewtopic.php?f=2&t=5727) and hope that fixes can be applied so that it works.
My tests with Windows 10 and Open Dental were promising. However, there were glitches with the Persian Calendar. I posted a topic in the advanced forum (viewtopic.php?f=2&t=5727) and hope that fixes can be applied so that it works.
Sina