Because of poor "countryfication" we need to hire our own Bentley Open product developer with basic knowledge how to „adjust“ ProjectWise. Please could you tell me, what this programmer should know….
OpenRoads, OpenRail, OpenBuilding and Projectwise…
C++ 50% ?
C# 40% ?
ProjectWise REST API 10%?
Is knowledge of C# and Open products API sufficient?
Thanks for any recommendations…And another question, is it possible to have foreknowledge about some product functions for 2 years ahead, not to develop them uselessly?
Martin Folber said:OpenRoads, OpenRail, OpenBuilding and Projectwise…
I think there is no developer, capable to cover all these products in big detail. Choose what is the most important for you, or you expect the most complex customization is required, and accept the fact he will learn the rest or you will hire some other for minor tasks.
Also, it is important to define how ProjectWise should be used, because for basic integration, desktop developer don't need to care about PW integration, it is done by the product itself. But when you need e.g. to store extra files in PW or to do specific search directly from custom application, the knowledge of PW API is required.
Martin Folber said:C++ 50% ? C# 40%
Unfortunately, it cannot be defined in this way.
In MicroStation, C# is efficient tool, but does not allow everything what C++ (some functionality is missing, so tight integration is possible only in C++).
I guess civil products (OpenRoads, OpenRail...) prefer NET API, whereas OpenBuilding API is I think old C-style and not very good, but completely different from MicroStation and ORD APIs.
Martin Folber said:Is knowledge of C# and Open products API sufficient?
No. I think (but I do not know building products well enough) that OpenBuilding Designer does not have any NET API.
For MicroStation and civil products, C# would be enough, but nobody can promise it for 100%. There is functionality that is supported only in C++.
ProjectWise API is also C-based, but wrappers for NET exist.
Martin Folber said:is it possible to have foreknowledge about some product functions for 2 years ahead, not to develop them uselessly?
No, Bentley develops product in agile way, when requirements and features are constantly re-prioritized, and there is not any list of planned features available.
Personally I do not treat this as a big threat, because anything developed locally, especially for open products, will be always better than general functionality ;-)
Conclusion: I think you try to cover too much in your requirement / specification. What can be more important is expected duration, because for one months project, it makes no sense to invest time to learn better some product or API. But when there is an idea of several years cooperation, it can be discussed what really will be needed and time and money can be allocated to focus on specific product / API / functionality.
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point
I would like to thank you for such detailed answer. To be honest, our main focus is on OpenRoads and OpenRail customization. In our opinion there is a lot of work creating some local utilities and functions for several years... as a longterm project...
Thanks for your time and have a great evening
Martin Folber said:To be honest, our main focus is on OpenRoads and OpenRail customization.
this focus (priority) makes the situation simpler, because OpenRoads offers (through OpenRoads Designer SDK) modern NET API. Even when I am not ORD user, so I know this API only briefly, it looks good. I do not know what is a difference between ORD and other civil products like OpenSite Designer or OpenRail Designer.
Bu at least, C# knowledge would be enough both for tasks based on platform (MicroStation) API and ORD API. There is always a threat that something very specific from MicroStation C++ API is required, but it can be discussed when it happens, not upfront.